Squashed 'third_party/rules_rust/' changes from 078c6908f..bf9ddeb7c

bf9ddeb7c Release 0.25.1 (#2049)
db5b2fd65 Update tinyjson (#2050)
6a7872ae3 Fix prost proto packages not sanitizing to valid module names (#2044)
c080d7bfa Moved legacy protobuf rules to `proto/protobuf` (#2043)
1281cc051 Remove debug code. (#2048)
cd126be1f Fix build failure finding crate_roots when mixed with generated sources (#2041)
7f751cddd Consolidate rust_prost_library and fix extension-only proto generation. (#2047)
6118c81f2 Release 0.25.0 (#2042)
a6f29fd07 Add Prost and Tonic rules. (#2033)
9442aed8c fix: `crate_type` more accurately corresponds to CC linking actions (#1975)
4f4e2b17b Re-enable zig example on CI (#2030)
2ded0c2f5 Fix flaky coverage test in CI (#2028)
36f8251f9 Exclude .tmp_git_root from globs (#1948)
ca750fa83 Eliminate Rustfmt action in Bindgen rules. Bindgen can run rustfmt (#2025)
c55ec0cfb Allow sysroots from cc_toolchains to be added to bindgen actions (#2024)
9314b1b0c Release 0.24.1 (#2023)
92ea74ade Making rust_std attr in rust_toolchain mandatory (#1984)
a54b8e14b Update `rust_library_group` to use `DepVariantInfo` (#2022)
47644346b Release v0.24.0 (#2020)
a6b0a7f39 Rust library group (#1848)
bc43f4841 Fix crate_universe's `all_crate_deps` and `aliases` functions failing in case the crate's Cargo.toml has condtional dependencies (#2018)
8f27ec7c5 fix: load cargo manifest without resolving abs path of deps (#2017)
23f99bb63 feature: `target_compatible_with` added to `CommonAttrs` (#1976)
11f8c9875 Make `rust_doc_test` inherit it's crate aliases attribute (#2007)
8e848414d Regenerated crate_universe outputs for all packages (#2011)
1b6365131 Don't use startup:windows (#2012)
e80582e75 Fix thumbv* platform resolution (#2010)
367f90ef0 Update bindgen version to 0.65.1 (#2008)
e6ed5bf90 Release 0.23.0 (#2003)
93b230bb8 Fix code coverage collection. (#2001)
0a14bfbb0 Minor CI and test cleanup (#2004)
3e2ee941a Update bindgen rules to build clang from source. (#1998)
5a1a7577d Split up cargo_build_script tests (#2002)
eb6413e83 Update various bash scripts to pipe errors to stderr (#1999)
affe947ac Update stardoc version (#1997)
7073146f8 Add support for armv8-m (#1993)
73a06f130 Added Rust 1.70.0 (#1991)
23c20a93f Fixes crates_vendor workspace name detection when using bzlmod (#1990)
f5813fa08 Set windows flags in platform-specific bazelrc (#1988)
c1632b5b5 Fix up anchor link (#1987)
56e760487 Fix typo in crate_universe-generated defs.bzl comment (#1981)
94cbe4c2c Symlink in the exec-root so that relative paths will work, unchanged. (#1781)
af8ef62eb Release 0.22.0 (#1974)
4aaa6de30 Allow specifying exec and target compatibility constraints (#1971)
f1b19c394 Update rules_apple in tests (#1972)
937e63399 Add T2 support for x86_64-unknown-none (#1967)
66b1bf165 fix: lld-link (MSVC) fix flags including `-l` prefix (#1958)
285dcbbb9 feature: expose `extra_rustc_flags` and `extra_exec_rustc_flags` at `rust_register_toolchains` (#1959)
0f25cb462 Removed `rust_toolchain.os` in favor of `rust_toolchain.exec_triple`. (#1960)
a2a1109dc Add T2 support for thumbv7em-none-eabi (#1957)
80f0eb488 Support for `no_std` mode (#1934)
99aaf0830 Rename crates_vendor_manifests to cvm to shorten windows path lengths (#1944)
0a57da049 Added tests for build script dependencies to crate_universe (#1943)
caffb0a08 Release 0.21.1 (#1936)
c869a17c7 Fix regression in building zlib (#1935)
24b9dea4f Release 0.21.0 (#1933)
7677c617e Add support for rustc flags to `rust_proto_library` (#1932)
fa304ae48 Updated zlib BUILD file to support darwin-arm64 (#1931)
a86313282 Added Rust 1.69.0 (#1930)
f0e12c707 Make BuildInfo provider public (#1920)
c6ad23aba Respect `#[global_allocator]` in `cc_common.link` builds (#1926)
d78752504 Exclude target directory from release tars (#1922)
0339cd18a [wasm-bindgen] Update to v0.2.84 (#1919)
07af5678e Handle corner case for windows architecture detection (#1915)
c56e7660d Fix optional deps by platform (#1911)
4663ff6a3 cc_common_link: also respect --custom_malloc if set (#1912)
dab425760 Add Rust 1.68.2 (#1908)
e4bd39f95 Add empty rustfmt.toml (#1907)
eaf513865 Support bzlmod (#1528)
1074ecbab Release v0.20.0 (#1900)
44aec0a79 ci: fix test config in cc_common_link_ubuntu2004 (#1904)
6571cde64 Adds per_crate_rustc_flag build setting. (#1827)
7a47449df Added Rust 1.68.1 (#1898)
e3bcdbad1 Fixed rustdoc warnings in crate_universe (#1897)
529f45900 Added `rustdoc_flags` attribute to rust_doc rule (#1867)
9e3499405 Have rustdoc return its output directory instead of zip default. (#1868)
9d6741f40 Implement support for optional crates enabled with dep: features (#1885)
fd10963ea Skip adding -lstatic to libtest and libstd on Darwin (#1620)
b3314b45e Release 0.19.1 (#1895)
c1a9fd86f Accumulate all features from cargo tree output (#1884)
206f71c95 Disable zig example (#1893)
1a5d07cd2 Add runfiles support to rust_stdlib_filegroup (#1890)
6996cd550 Deleted unused targets and cleanup docs (#1889)
a85e24e20 Fix triple constraints for iOS and watchOS (#1888)
e13fd3bad Release rules_rust and cargo-bazel (#1882)
9e9853d63 Add support for thumbv7em with hard float (#1871)
b3cd5962e Added Rust 1.68.0 (#1866)
f1b7aedf5 Support sparse indexes (#1857)
7f2dd433a Make fetch_shas work with mktemp from coreutils 8.32 (#1870)
a9cc01230 Update crate_universe dependencies (#1872)
c038e94ae Pipe stderr from cargo tree processes (#1879)
222d60322 Parallelize cargo tree calls (#1874)
cdbbf7131 Add Fuchsia platform support (#1833)
17e5b04c2 Use `_make_link_flags_darwin` when target os is `ios`. (#1843)
d9ecc8df4 crate_universe: Support fetching crates with git branch, tag or rev (#1846)
1c694cd60 Forward `toolchains` to `cargo_build_script` targets (#1862)
9affcbfa7 Skip detecting abi for empty values (#1830)
6193fe823 Re-enable crate_universe MacOS tests (#1861)
c25db95ae Updated Rust to 1.67.1 (#1864)
7b8fd06be Support `[patch]` in crate_universe when using multiple `Cargo.toml`s (#1856)
c645fe399 Silence windows build failure (#1863)
75bba7b50 Make rust_clippy providers match rustfmt_test (#1806)
f09d72755 Fix test assertion for arm64 macs (#1845)
f4113bfe1 Fix tests for new Apple toolchain (#1844)
20ce44e30 fix: use target_triple struct instead of string (#1835)
bdbded181 Fix code example in doc (#1838)
4f4014052 Fix typo: plced -> placed (#1834)
baeb0664d Remove ios/android/wasm support for gen_rust_project deps (#1684)
02557a47a Add `render_config` attribute to `crates_vendor`. (#1832)
4357fb154 Updated rules_rust to version 0.18.0 (#1829)
9adfdca9b Various cleanups (#1828)
4fa412385 Added update known shas to include T1-T2 triples (#1824)
905731ad9 Instructions on how to perform `rustfmt` check (#1822) (#1823)
108b1a187 Encapsulate running cargo into a struct (#1815)
57a099b63 Fixes resolver issue with root packages and another dependency format (#1819)
78ca9ba0a Use env method recently added to cargo_metadata (#1813)
92834930f Updated `rust_toolchain.target_json` to take encoded json strings (#1810)
84f1d0657 support `resolver = "2"` target-specific features (#1710)
a5853fd37 Use correct dynamic link args fro proc-macro crates (#1803)
b656e2553 Added tests for the `triple` constructor (#1811)
ea4a79ad9 Disable job in CI to avoid infrastructure failure. (#1816)
2fc02f030 Delete `rust_toolchain.rusrc_srcs` (#1807)
804d5fc1f Convert `rust_toolchain` attrs `exec_triple` and `target_triple` to structs (#1808)
499a2ca38 Updated platform triple values from strings to structs ("triple") (#1804)
aae1dbdcb Unify functions for computing constraint values for platform triple abi (#1805)
0d6d2b1eb Updated rules_rust version to `0.17.0` (#1800)
88e83f2df Added Rust 1.67.0 (#1799)
6922b5012 rustdoc_test: fix and test OUT_DIR (#1779)
ad01d1b0e [crate_universe] add an annotation to disable pipelining (#1733)
f651cd18f Add `CARGO_BAZEL_REPIN_ONLY` repinning allowlist (#1798)
d7f0debb0 Revert "Disable broken clang and ldd CI jobs (#1785)" (#1796)
96f82aaad Fix `cc_common.link` file output name (#1795)
5079b64d5 Fix use of `rustfmt_toolchain` when `rustc` is not provided (#1794)
23c650f35 Have `--experimental_use_cc_common_link` cover `rust_shared_library` (#1792)
ba0fb5956 Added support for `--nolegacy_external_runfiles` to `rust_doc_test` (#1790)
112242bb7 Prevent crates_vendor from restarting bazel. (#1791)
52231ef9f Added compatibility flags to `.bazelrc` to prevent regressions (#1789)
91cd399a0 Add "crate-name={}" tag to Crate Universe targets (#1787)
1b1dae196 Added Rust 1.66.1 (#1767)
fe17e8b8e Add file:// prefix to env var in docs (#1788)
0fe742bff Updated `rust_bindgen` to use `rustfmt_toolchain` (#1770)
042fd6c1c Update docs on setting Rust versions (#1786)
dddd8a0d4 Updated crate_universe dependencies (#1775)
a1330a71f Download `rustc` in `rustfmt_toolchain_repository` (#1769)
e96aad9aa Updated the ios_build example to use `crates_vendor` (#1778)
e315007df Disable broken clang and ldd CI jobs (#1785)
4e89d52a9 rustdoc_test: substitute the root of the current crate (#1777)
a52041fb5 Support `target_settings` in `rust_repository_set` and `rust_toolchain_repository` (#1758)
49906eb29 Update clippy and rustfmt aspects to require CrateInfo providers (#1772)
85564208e Updated rules_rust version to `0.16.1` (#1761)
614499a5b Fixed inability to deserialize crate_universe lockfiles (#1760)
9803d3034 Fix data and compile_data for rust_doc (#1741)
927a364cb Update Release github pipeline to trigger automatically (#1757)
7d03e05f8 Fix release pipeline (#1756)
cf7ca5dfd Updated rules_rust to version `0.16.0` (#1750)
203fe4b9a Remove unnecessary binary file (#1755)
941c7cca9 Don't propagate `compatible_with` to the underlying `cargo_build_script` `rust_binary` target (#1754)
a31490d9a Make loads from @rules_rust//rust:defs.bzl come out on one line (#1753)
7ebad4d50 Generate only the needed subset of binaries for bindgen and proto (#1751)
4ef3d4aaa Repin examples/crate_universe_unnamed (#1752)
d6e300359 Regenerate BUILD files using serde_starlark renderer (#1746)
e7c8a97d1 Convert BUILD.$name-$version.bazel to serde_starlark (#1743)
c09818d3b Exclude generated files from language stats and collapse in code review (#1747)
26a24f030 Added CI for single toolchain channel workspaces (#1712)
caed7d814 Report context on error failing to get version (#1744)
36b57af7b Add gen_binaries annotation to control which bins to make target for (#1718)
d916a6f52 crate_universe re-pinning now defaults to "workspace" (#1723)
f34661ee1 Propagate `compatible_with` attribute to the underlying `_build_script_run` target (#1745)
92977d1bf Re-pinned all dependencies managed by crate_universe (#1735)
d5289ad1c Added `rustfmt_toolchain` and refactored toolchain repository rules (#1719)
532e60ff0 Collect targets in a deterministic order (#1736)
52e02c25b Eliminate all use of hash-based collections from crate_universe (#1737)
31073ff8e Replace tera template with serde_starlark (#1734)
d4e5586d0 Support the RUNFILES_DIR environment variable. (#1732)
1357b85b1 Addressed clippy warnings from `clippy 0.1.67 (ec56537c 2022-12-15)` (#1717)
8bc9f788d Support dsym_folder output group in tests (#1703)
90c5b6eb7 Added CI for minimum supported Rust version (#1720)
be82ff8bd Match prerelease versions with annotation wildcard (#1716)
36c7f285b Arm Thumb Embedded Targets. (#1721)
5ef52e465 Update current_toolchain_files tests to use a dedicated test rule (#1714)
c75ea6f9e Add `Runfiles::current_repository` to runfiles library (#1713)
2f0511782 Updated rules_rust to version `0.15.0` (#1706)
019f87178 Added Rust 1.66.0 (#1705)
1469cd7cb Fix labels to work with canonical label literals. (#1700)
5826a500a Add riscv32imc and riscv64gc to the known sha targets (#1698)
40dee95ce Fixed typos: normla -> normal (#1699)
8f08e77ac load_arbitrary_tool uses tool_suburl to look up sha256 (#1695)
8faec3060 Fix typos in crate_universe rendered comments (#1691)
bd64711ff Silence flaky test (#1693)
46b7ea5af Added a build setting for toolchain channels (#1671)
70b272aad Updated rules_rust to version `0.14.0` (#1669)
91e597dd1 Updated all crates_vendor outputs (#1687)
9a047b0b9 Updated crate_universe dependencies (#1686)
3a91d2f5b Add RV64GC target (#1683)
d9e752ab4 Add per-toolchain `rustc_flags` (#1635)
56237415e stardoc: Use backtick not `<code>` for attr default values  (#1682)
d4b31a494 Allow passing a bazel path to vendor explicitly (#1661)
d51bf9ce0 Updated crate_universe to work with `--nolegacy_external_runfiles` (#1680)
7f40636d1 crate_universe/private/crates_vendor.bzl typo fix (#1678)
025bf7db8 Merge cc toolchain flags into build script env (#1675)
b7c36c051 Fix confusing/misleading crate_universe docs (#1677)
29233e354 Revert #1564 (#1663)
ed32b6de2 Common glob excludes (#1673)
61b99cdd1 fix: add space to crate data exclude list (#1665)
8bb25b8b7 Support Windows ARM64 (aarch64-pc-windows-msvc) (#1664)
ddf2a4c23 Re-render crate BUILD files after #1647 (#1655)
44c7e1588 Group deps and aliases by platform triple rather than by cfg string when generating BUILD files. This avoid bazel errors due to duplicate keys/deps. (#1647)
de18d8bb6 Allow `buildifier` attribute to be a file (#1660)
aa0815dc9 Fix naming of ambiguous libs (#1625)
ff314d4ab Also pass -c opt to tests in opt mode CI (#1626)
ff4e90515 Reenable windows job (#1658)
c45b8e91f Updated rules_rust to version `0.13.0` (#1644)
87d6b6c37 Update `//util/label` to support `+` in packages (#1654)
ab6959db5 fix: Fix issue with wasi-0.11.0+wasi-snapshot-preview1 (#1632)
28c090ed0 Replaced custom platform constraint values with aliases to `@platforms` (#1652)
dfbea4f52 Deprecated `rust_toolchain.rustc_srcs` (#1653)
fd1db4391 Remove deprecated attributes from rust_toolchain and cargo_bootstrap (#1651)
c8ab970c4 Generated rust-project.json files now include sysroot paths (#1641)
0a3e04cf9 Fix vendoring when not in a package (#1646)
aece1e37d Deduplicate expand_location targets in rust-project.json crate creation to avoid a bazel crash (#1639)
03a0b2483 [docs] Fixing typos in CargoConfig doc strings (#1638)
bd4fd2ac5 Upgraded cfg-expr dependency to 0.12.0. (#1636)
330554a13 Disable failing job in CI (#1640)
849f106e6 Consider compilation mode when choosing `pic`/`nopic` object files to link (#1624)
53491d719 Updated rules_rust to version `0.12.0` (#1630)
8e8843724 Remove empty glob (#1628)
1f621a944 Added Rust 1.65.0 (#1627)
c6af4d025 Add `-c opt` mode to CI (#1621)
95320cc8b process_wrapper: print line on error to parse message as json (#1566)
81eaccf39 Fixed CI breakage (#1619)
478fc3a57 Fix ambiguous native dependencies in `proc_macro`s and `staticlib`s (#1611)
9e3d8415e Build deps of _build_script_run in 'exec' mode (#1561)
ea031082b Fixed outdated docs (#1614)
a8c540e49 Restore support for old cargo_build_script load statements (#1613)
295b5ccc7 Renamed `_build_script_run` rule to `cargo_build_script` (#1612)
3778069ec Remove references to Google mirror in docs (#1607)
aad54ba29 Updated crate_universe dependencies (#1606)
c349df2a6 Remove Google mirror from Starlark snippet in release notes (#1604)
0493b998d Avoid rendering a mock root package when possible (#1596)
b04aa053c process_wrapper: Apply substitutions to param files (#1565)
b209b3e15 Updated rules_rust to version `0.11.0`. (#1587)
b1079453b Typo correction on doc (#1593)
ca5678266 Updated crate_universe dependencies (#1591)
a364d448f Fixes crates_vendor labels in remote mode when used from the root workspace (#1575)
1cc37c268 Expose the output directory from cargo_build_script (#1588)
7ffe0a555 Ignore non-utf8 text in build script output (#1583)
c5b38fe00 Merge runfiles from transitive dependencies of rust_test crate attr (#1487)
da3d522d5 Fix build scripts targeting the wrong architecture (#1564)
d288ed634 Add `out_dir` support in `cargo_dep_env` (#1571)
78d6c1b46 fix: incorrect rustfmt edition query (#1582)
48927127e Set CARGO_MANIFEST_DIR at runtime for tests (#1559)
76bd69033 Add an output group for the .rmeta (#1585)
352bfeb05 Cleanup deprecated code (#1577)
86dc561f9 Move crate_root_src to utils (#1570)
beb554eb9 update to wasm-bindgen v0.2.83 (#1567)
73fd1616b Export AbsoluteLabel functionality (#1568)
c57e7a399 Remap $PWD to empty string instead of "." (#1563)
f0cdcedc2 Added Rust 1.64.0 (#1562)
1d326554a Update docs to show release policies and support (#1560)
78c793a0a Fix markdown typo in rust_analyzer.md (#1553)
c13980fb6 Add iOS examples (#1546)
8a5e07e9f Update apple_support (#1549)
6dacd9803 Strip leading '@'s for labels in the splicing manifest (#1547)
f73d1d6fb use crate_info.deps in establish_cc_info (#1543)
4845af6c0 Add android example (#1545)
9570b7aa7 Remove -lgcc from Android builds (#1541)
cb9ca1b81 Fix crate_universe/private/srcs.bzl to work with repo mappings (#1540)
d1fc9accc Minor cleanup of CI pipelines (#1534)
2bb077b3b Updated rules_rust to version 0.10.0 (#1533)
b8751b860 add cc config info to dummy wasm32 cc toolchain (#1532)
f5ed797ee Updates rust_test to use main.rs as the root when use_libtest_harness is false (#1518)
cfcaf21d5 Preserve directory structure of source files when some are generated (#1526)
51c065841 migrating to rbe_preconfig and remove bazel_toolchains (#1524)
055abd402 Fix typo in an example of crates_repository rule (#1520)
8bfed1cd2 Added Rust 1.63.0 (#1512)
3a69ce09b Update wasm_bindgen to 0.2.82 (#1513)

git-subtree-dir: third_party/rules_rust
git-subtree-split: bf9ddeb7c83a9fe8a7d87c76134cdd8e16131b62
Signed-off-by: Adam Snaider <adsnaider@gmail.com>
Change-Id: Id9490c68d6221da66953a915a25042ef8b848505
diff --git a/examples/.bazelignore b/examples/.bazelignore
index 65f8fb8..a921d20 100644
--- a/examples/.bazelignore
+++ b/examples/.bazelignore
@@ -1,2 +1,7 @@
+android
 cargo_manifest_dir/external_crate
 crate_universe
+crate_universe_unnamed
+ios
+ios_build
+zig_cross_compiling
diff --git a/examples/.bazelrc b/examples/.bazelrc
index 30c4a08..f67e236 100644
--- a/examples/.bazelrc
+++ b/examples/.bazelrc
@@ -1,6 +1,11 @@
 # `.bazelrc` is a Bazel configuration file.
 # https://bazel.build/docs/best-practices#bazelrc-file
 
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
 # Enable rustfmt for all targets in the workspace
 build:rustfmt --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
 build:rustfmt --output_groups=+rustfmt_checks
diff --git a/examples/WORKSPACE.bazel b/examples/WORKSPACE.bazel
index a9ca080..255b51d 100644
--- a/examples/WORKSPACE.bazel
+++ b/examples/WORKSPACE.bazel
@@ -30,13 +30,19 @@
 
 rust_bindgen_register_toolchains()
 
-load("@rules_rust//proto:repositories.bzl", "rust_proto_repositories")
+load("@rules_rust//bindgen:transitive_repositories.bzl", "rust_bindgen_transitive_dependencies")
 
-rust_proto_repositories()
+rust_bindgen_transitive_dependencies()
 
-load("@rules_rust//proto:transitive_repositories.bzl", "rust_proto_transitive_repositories")
+load("@rules_rust//proto/protobuf:repositories.bzl", "rust_proto_protobuf_dependencies", "rust_proto_protobuf_register_toolchains")
 
-rust_proto_transitive_repositories()
+rust_proto_protobuf_dependencies()
+
+rust_proto_protobuf_register_toolchains()
+
+load("@rules_rust//proto/protobuf:transitive_repositories.bzl", "rust_proto_protobuf_transitive_repositories")
+
+rust_proto_protobuf_transitive_repositories()
 
 load("@rules_rust//wasm_bindgen:repositories.bzl", "rust_wasm_bindgen_dependencies", "rust_wasm_bindgen_register_toolchains")
 
@@ -61,13 +67,12 @@
     edition = "2018",
     exec_triple = "x86_64-unknown-linux-gnu",
     extra_target_triples = [],
-    rustfmt_version = "1.4.12",
     sha256s = {
         "rust-1.46.0-x86_64-unknown-linux-gnu": "e3b98bc3440fe92817881933f9564389eccb396f5f431f33d48b979fa2fbdcf5",
         "rust-std-1.46.0-x86_64-unknown-linux-gnu": "ac04aef80423f612c0079829b504902de27a6997214eb58ab0765d02f7ec1dbc",
         "rustfmt-1.4.12-x86_64-unknown-linux-gnu": "1894e76913303d66bf40885a601462844eec15fca9e76a6d13c390d7000d64b0",
     },
-    version = "1.46.0",
+    versions = ["1.46.0"],
 )
 
 ###############################################################################
@@ -136,18 +141,18 @@
 ###############################################################################
 
 http_archive(
-    name = "bazel_toolchains",
-    sha256 = "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024",
-    strip_prefix = "bazel-toolchains-4.1.0",
-    urls = [
-        "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
-        "https://github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
-    ],
+    name = "bazelci_rules",
+    sha256 = "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
+    strip_prefix = "bazelci_rules-1.0.0",
+    url = "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz",
 )
 
-load("@bazel_toolchains//rules:rbe_repo.bzl", "rbe_autoconfig")
+load("@bazelci_rules//:rbe_repo.bzl", "rbe_preconfig")
 
 # Creates a default toolchain config for RBE.
 # Use this as is if you are using the rbe_ubuntu16_04 container,
 # otherwise refer to RBE docs.
-rbe_autoconfig(name = "buildkite_config")
+rbe_preconfig(
+    name = "buildkite_config",
+    toolchain = "ubuntu1804-bazel-java11",
+)
diff --git a/examples/android/.bazelrc b/examples/android/.bazelrc
new file mode 100644
index 0000000..2bb3104
--- /dev/null
+++ b/examples/android/.bazelrc
@@ -0,0 +1,6 @@
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
+build --fat_apk_cpu=arm64-v8a
diff --git a/examples/android/.gitignore b/examples/android/.gitignore
new file mode 100644
index 0000000..a6ef824
--- /dev/null
+++ b/examples/android/.gitignore
@@ -0,0 +1 @@
+/bazel-*
diff --git a/examples/android/AndroidMain.java b/examples/android/AndroidMain.java
new file mode 100644
index 0000000..9baf602
--- /dev/null
+++ b/examples/android/AndroidMain.java
@@ -0,0 +1,21 @@
+package com.example.androidapp;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.util.Log;
+import android.widget.TextView;
+
+public class AndroidMain extends Activity {
+  @Override
+  public void onCreate(Bundle savedInstanceState) {
+    super.onCreate(savedInstanceState);
+    setContentView(R.layout.android_main);
+
+    Log.v("Bazel", "Android app launched");
+    System.loadLibrary("android_app"); // 'android_app' is the name of the native library in this example
+    Log.v("Bazel", "Value from rust: " + JniShim.getValue());
+
+    final TextView helloTextView = (TextView) findViewById(R.id.text_view);
+    helloTextView.setText("Value from rust: " + JniShim.getValue());
+  }
+}
diff --git a/examples/android/AndroidManifest.xml b/examples/android/AndroidManifest.xml
new file mode 100644
index 0000000..03c56a3
--- /dev/null
+++ b/examples/android/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          package="com.example.androidapp"
+          android:versionCode="1"
+          android:versionName="0.1">
+    <uses-sdk
+            android:minSdkVersion="23"
+            android:targetSdkVersion="29"/>
+
+    <application
+            android:label="Rust Demo">
+        <activity
+                android:name=".AndroidMain"
+                android:label="Rust Demo">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.LAUNCHER"/>
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/examples/android/BUILD.bazel b/examples/android/BUILD.bazel
new file mode 100644
index 0000000..c49af78
--- /dev/null
+++ b/examples/android/BUILD.bazel
@@ -0,0 +1,53 @@
+load("@build_bazel_rules_android//android:rules.bzl", "android_binary", "android_library")
+load("@rules_cc//cc:defs.bzl", "cc_library")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+cc_library(
+    name = "allocator_library",
+    srcs = ["allocator_library.cc"],
+    visibility = ["//visibility:public"],
+)
+
+rust_library(
+    name = "rust_lib",
+    srcs = ["demo.rs"],
+    edition = "2018",
+    deps = [":allocator_library"],
+)
+
+cc_library(
+    name = "jni_shim",
+    srcs = ["android_link_hack.c"],  # Required because of https://github.com/bazelbuild/rules_rust/issues/1271
+    linkopts = [
+        "-lm",  # Required to avoid dlopen runtime failures unrelated to rust
+    ],
+    deps = [":rust_lib"],
+    alwayslink = True,  # Required since JNI symbols appear to be unused
+)
+
+android_library(
+    name = "android_main",
+    srcs = [
+        "AndroidMain.java",
+        "JniShim.java",
+    ],
+    custom_package = "com.example.androidapp",
+    manifest = "AndroidManifest.xml",
+    resource_files = ["res/layout/android_main.xml"],
+    deps = [":jni_shim"],
+)
+
+android_binary(
+    name = "android_app",
+    custom_package = "com.example.androidapp",
+    manifest = "AndroidManifest.xml",
+    deps = [":android_main"],
+)
+
+platform(
+    name = "android_aarch64",
+    constraint_values = [
+        "@platforms//cpu:aarch64",
+        "@platforms//os:android",
+    ],
+)
diff --git a/examples/android/JniShim.java b/examples/android/JniShim.java
new file mode 100644
index 0000000..854cacd
--- /dev/null
+++ b/examples/android/JniShim.java
@@ -0,0 +1,5 @@
+package com.example.androidapp;
+
+public class JniShim {
+  public static native int getValue();
+}
diff --git a/examples/android/WORKSPACE.bazel b/examples/android/WORKSPACE.bazel
new file mode 100644
index 0000000..8b65349
--- /dev/null
+++ b/examples/android/WORKSPACE.bazel
@@ -0,0 +1,50 @@
+workspace(name = "android_examples")
+
+# Users of `rules_rust` will commonly be unable to load it
+# using a `local_repository`. Instead, to setup the rules,
+# please see https://bazelbuild.github.io/rules_rust/#setup
+local_repository(
+    name = "rules_rust",
+    path = "../..",
+)
+
+load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
+
+rules_rust_dependencies()
+
+rust_register_toolchains(
+    edition = "2018",
+    extra_target_triples = [
+        "aarch64-linux-android",
+    ],
+)
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+http_archive(
+    name = "build_bazel_rules_android",
+    sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806",
+    strip_prefix = "rules_android-0.1.1",
+    urls = ["https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"],
+)
+
+http_archive(
+    name = "bazelci_rules",
+    sha256 = "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
+    strip_prefix = "bazelci_rules-1.0.0",
+    url = "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz",
+)
+
+load("@bazelci_rules//:rbe_repo.bzl", "rbe_preconfig")
+
+# Creates a default toolchain config for RBE.
+# Use this as is if you are using the rbe_ubuntu16_04 container,
+# otherwise refer to RBE docs.
+rbe_preconfig(
+    name = "buildkite_config",
+    toolchain = "ubuntu1804-bazel-java11",
+)
+
+android_sdk_repository(name = "androidsdk")
+
+android_ndk_repository(name = "androidndk")
diff --git a/examples/android/allocator_library.cc b/examples/android/allocator_library.cc
new file mode 100644
index 0000000..be82631
--- /dev/null
+++ b/examples/android/allocator_library.cc
@@ -0,0 +1,52 @@
+#include <stdint.h>
+
+// This file has some exciting magic to get Rust code linking in a cc_binary.
+// The Rust compiler generates some similar symbol aliases when it links, so we
+// have to do it manually. We mark all our symbols as weak so that linking this
+// via Rust tooling to produce a binary with a Rust main works.
+//
+// It is intended to be used in rust_toolchain.allocator_library.
+//
+// https://github.com/rust-lang/rust/blob/master/library/alloc/src/alloc.rs
+// and https://github.com/rust-lang/rust/blob/master/library/std/src/alloc.rs
+// are the best source of docs I've found on these functions and variables.
+// https://doc.rust-lang.org/std/alloc/index.html talks about how this is
+// intended to be used.
+//
+// Also note
+// https://rust-lang.github.io/unsafe-code-guidelines/layout/scalars.html for
+// the sizes of the various integer types.
+//
+// This file strongly assumes that the default allocator is used. It will
+// not work with any other allocated switched in via `#[global_allocator]`.
+
+// New feature as of https://github.com/rust-lang/rust/pull/88098.
+__attribute__((weak)) uint8_t __rust_alloc_error_handler_should_panic = 0;
+
+extern "C" uint8_t *__rdl_alloc(uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+uint8_t *__rust_alloc(uintptr_t size, uintptr_t align) {
+  return __rdl_alloc(size, align);
+}
+extern "C" void __rdl_dealloc(uint8_t *ptr, uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+void __rust_dealloc(uint8_t *ptr, uintptr_t size, uintptr_t align) {
+  __rdl_dealloc(ptr, size, align);
+}
+extern "C" uint8_t *__rdl_realloc(uint8_t *ptr, uintptr_t old_size, uintptr_t align,
+                       uintptr_t new_size);
+extern "C" __attribute__((weak))
+uint8_t *__rust_realloc(uint8_t *ptr, uintptr_t old_size, uintptr_t align,
+                        uintptr_t new_size) {
+  return __rdl_realloc(ptr, old_size, align, new_size);
+}
+extern "C" uint8_t *__rdl_alloc_zeroed(uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+uint8_t *__rust_alloc_zeroed(uintptr_t size, uintptr_t align) {
+  return __rdl_alloc_zeroed(size, align);
+}
+extern "C" void __rdl_oom(uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+void __rust_alloc_error_handler(uintptr_t size, uintptr_t align) {
+  __rdl_oom(size, align);
+}
diff --git a/examples/android/android_link_hack.c b/examples/android/android_link_hack.c
new file mode 100644
index 0000000..01a2a64
--- /dev/null
+++ b/examples/android/android_link_hack.c
@@ -0,0 +1,6 @@
+// https://github.com/bazelbuild/rules_rust/issues/1271
+extern void android_link_hack(void);
+
+void call_link_hack(void) {
+  android_link_hack();
+}
diff --git a/examples/android/demo.rs b/examples/android/demo.rs
new file mode 100644
index 0000000..8d33f18
--- /dev/null
+++ b/examples/android/demo.rs
@@ -0,0 +1,17 @@
+#[no_mangle]
+pub extern "C" fn android_link_hack() {}
+
+#[no_mangle]
+pub extern fn print_something_from_rust() {
+    println!("Ferris says hello!");
+}
+
+#[no_mangle]
+pub extern fn get_a_value_from_rust() -> i32 {
+    42
+}
+
+#[no_mangle]
+pub extern "system" fn Java_com_example_androidapp_JniShim_getValue() -> i32 {
+    get_a_value_from_rust()
+}
diff --git a/examples/android/platform_mappings b/examples/android/platform_mappings
new file mode 100644
index 0000000..d66d78f
--- /dev/null
+++ b/examples/android/platform_mappings
@@ -0,0 +1,4 @@
+flags:
+  --cpu=arm64-v8a
+  --crosstool_top=//external:android/crosstool
+    //:android_aarch64
diff --git a/examples/android/res/layout/android_main.xml b/examples/android/res/layout/android_main.xml
new file mode 100644
index 0000000..2e27f2f
--- /dev/null
+++ b/examples/android/res/layout/android_main.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".MainActivity">
+
+<android.widget.TextView
+    android:id="@+id/text_view"
+    android:layout_centerInParent="true"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"/>
+
+</RelativeLayout>
diff --git a/examples/bindgen/BUILD.bazel b/examples/bindgen/BUILD.bazel
index 1a62c78..8e36e20 100644
--- a/examples/bindgen/BUILD.bazel
+++ b/examples/bindgen/BUILD.bazel
@@ -26,27 +26,3 @@
     name = "simple_test",
     crate = ":simple_example",
 )
-
-# Same as above, except disabling formatting on bindgen.
-rust_bindgen_library(
-    name = "simple_bindgen_unformatted",
-    bindgen_flags = [
-        "--allowlist-var=SIMPLE_.*",
-    ],
-    cc_lib = ":simple",
-    crate_name = "simple_bindgen",
-    header = "simple.h",
-    rustfmt = False,
-)
-
-rust_binary(
-    name = "simple_example_unformatted",
-    srcs = ["main.rs"],
-    crate_name = "simple_example",
-    deps = [":simple_bindgen_unformatted"],
-)
-
-rust_test(
-    name = "simple_test_unformatted",
-    crate = ":simple_example_unformatted",
-)
diff --git a/examples/bzlmod/hello_world/.bazelrc b/examples/bzlmod/hello_world/.bazelrc
new file mode 100644
index 0000000..825e315
--- /dev/null
+++ b/examples/bzlmod/hello_world/.bazelrc
@@ -0,0 +1,6 @@
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
+build --experimental_enable_bzlmod
diff --git a/examples/bzlmod/hello_world/.gitignore b/examples/bzlmod/hello_world/.gitignore
new file mode 100644
index 0000000..65e8edc
--- /dev/null
+++ b/examples/bzlmod/hello_world/.gitignore
@@ -0,0 +1 @@
+/bazel-*
\ No newline at end of file
diff --git a/examples/bzlmod/hello_world/BUILD.bazel b/examples/bzlmod/hello_world/BUILD.bazel
new file mode 100644
index 0000000..3e2ec19
--- /dev/null
+++ b/examples/bzlmod/hello_world/BUILD.bazel
@@ -0,0 +1,13 @@
+load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_doc")
+
+package(default_visibility = ["//visibility:public"])
+
+rust_binary(
+    name = "hello_world",
+    srcs = ["src/main.rs"],
+)
+
+rust_doc(
+    name = "hello_world_doc",
+    crate = ":hello_world",
+)
diff --git a/examples/bzlmod/hello_world/MODULE.bazel b/examples/bzlmod/hello_world/MODULE.bazel
new file mode 100644
index 0000000..dca22ce
--- /dev/null
+++ b/examples/bzlmod/hello_world/MODULE.bazel
@@ -0,0 +1,19 @@
+module(
+    name = "hello_world",
+    version = "1.0",
+)
+
+bazel_dep(name = "rules_rust", version = "0.9.0")
+local_path_override(
+    module_name = "rules_rust",
+    path = "../../..",
+)
+
+rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
+rust.toolchain(edition = "2021")
+use_repo(
+    rust,
+    "rust_toolchains",
+)
+
+register_toolchains("@rust_toolchains//:all")
diff --git a/examples/bzlmod/hello_world/WORKSPACE b/examples/bzlmod/hello_world/WORKSPACE
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/bzlmod/hello_world/WORKSPACE
diff --git a/examples/bzlmod/hello_world/src/main.rs b/examples/bzlmod/hello_world/src/main.rs
new file mode 100644
index 0000000..317f564
--- /dev/null
+++ b/examples/bzlmod/hello_world/src/main.rs
@@ -0,0 +1,17 @@
+// Copyright 2015 The Bazel Authors. All rights reserved.
+//
+// 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.
+
+fn main() {
+    println!("Hello, world!");
+}
diff --git a/examples/cargo/BUILD.bazel b/examples/cargo/BUILD.bazel
index 463841f..909416c 100644
--- a/examples/cargo/BUILD.bazel
+++ b/examples/cargo/BUILD.bazel
@@ -1,5 +1,5 @@
 load(
-    "@rules_rust//cargo:cargo_build_script.bzl",
+    "@rules_rust//cargo:defs.bzl",
     "cargo_build_script",
 )
 load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
diff --git a/examples/crate_universe/.bazelrc b/examples/crate_universe/.bazelrc
index 30c4a08..290e7c4 100644
--- a/examples/crate_universe/.bazelrc
+++ b/examples/crate_universe/.bazelrc
@@ -1,6 +1,11 @@
 # `.bazelrc` is a Bazel configuration file.
 # https://bazel.build/docs/best-practices#bazelrc-file
 
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
 # Enable rustfmt for all targets in the workspace
 build:rustfmt --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
 build:rustfmt --output_groups=+rustfmt_checks
@@ -9,6 +14,10 @@
 build:clippy --aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect
 build:clippy --output_groups=+clippy_checks
 
+# Confirm crate universe works without relying on the legacy
+# external symlink in runfiles.
+build --nolegacy_external_runfiles
+
 # This import should always be last to allow users to override
 # settings for local development.
 try-import %workspace%/user.bazelrc
diff --git a/examples/crate_universe/WORKSPACE.bazel b/examples/crate_universe/WORKSPACE.bazel
index c0c6371..04190b8 100644
--- a/examples/crate_universe/WORKSPACE.bazel
+++ b/examples/crate_universe/WORKSPACE.bazel
@@ -124,41 +124,55 @@
 cargo_workspace_crate_repositories()
 
 ###############################################################################
-# M U L T I   P A C K A G E
+# C A R G O   C O N D I T I O N A L   D E P S
 ###############################################################################
 
 crates_repository(
-    # The name here needs to be short to avoid long path issues on windows
-    # when running the `libnghttp2-sys` build script.
-    name = "m_pkgs",
+    name = "crate_index_cargo_conditional_deps",
+    cargo_lockfile = "//cargo_conditional_deps:Cargo.Bazel.lock",
+    # `generator` is not necessary in official releases.
+    # See load satement for `cargo_bazel_bootstrap`.
+    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
+    lockfile = "//cargo_conditional_deps:cargo-bazel-lock.json",
+    manifests = [
+        "//cargo_conditional_deps:Cargo.toml",
+    ],
+)
+
+load(
+    "@crate_index_cargo_conditional_deps//:defs.bzl",
+    cargo_conditional_deps_crate_repositories = "crate_repositories",
+)
+
+cargo_conditional_deps_crate_repositories()
+
+###############################################################################
+# M U L T I   P A C K A G E
+###############################################################################
+
+# The name here needs to be short to avoid long path issues on windows
+# when running the `libnghttp2-sys` build script.
+multi_pkg_example_name = "m_pkgs"
+
+crates_repository(
+    name = multi_pkg_example_name,
     annotations = {
         "curl-sys": [crate.annotation(
             gen_build_script = False,
             deps = [
-                "@curl",
-                "@libssh2",
+                "@m_pkgs__curl//:curl",
             ],
         )],
-        "lalrpop": [crate.annotation(
-            data_glob = ["**/*.lalrpop"],
+        "httpmock": [crate.annotation(
+            shallow_since = "1673473097 +0100",
+        )],
+        "isahc": [crate.annotation(
+            shallow_since = "1667787880 -0600",
         )],
         "libnghttp2-sys": [crate.annotation(
             build_script_data_glob = ["nghttp2/**"],
             data_glob = ["nghttp2/**"],
         )],
-        "openssl-sys": [crate.annotation(
-            build_script_data = [
-                "@openssl//:gen_dir",
-                "@openssl//:openssl",
-            ],
-            build_script_data_glob = ["build/**/*.c"],
-            build_script_env = {
-                "OPENSSL_DIR": "$(execpath @openssl//:gen_dir)",
-                "OPENSSL_STATIC": "1",
-            },
-            data = ["@openssl"],
-            deps = ["@openssl"],
-        )],
         "wepoll-ffi": [crate.annotation(
             build_script_data_glob = ["vendor/**"],
         )],
@@ -175,6 +189,12 @@
     ],
 )
 
+load("//multi_package/3rdparty:third_party_deps.bzl", "third_party_deps")
+
+third_party_deps(
+    prefix = multi_pkg_example_name,
+)
+
 load(
     "@m_pkgs//:defs.bzl",
     multi_pkg_crate_repositories = "crate_repositories",
@@ -182,39 +202,6 @@
 
 multi_pkg_crate_repositories()
 
-# ForeignCc is used to build OpenSSL
-http_archive(
-    name = "rules_foreign_cc",
-    sha256 = "1df78c7d7eed2dc21b8b325a2853c31933a81e7b780f9a59a5d078be9008b13a",
-    strip_prefix = "rules_foreign_cc-0.7.0",
-    url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.7.0.tar.gz",
-)
-
-load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
-
-rules_foreign_cc_dependencies()
-
-# Load OpenSSL and other 3rd party dependencies
-load("//multi_package/3rdparty:third_party_deps.bzl", "third_party_deps")
-
-third_party_deps()
-
-# perl is used to build openssl
-http_archive(
-    name = "rules_perl",
-    sha256 = "0c0cc01b158321c3c84af49409393c14b66070249d0affb78a88ca594b2aa9c2",
-    strip_prefix = "rules_perl-43d2db0aafe595fe0ac61b808c9c13ea9769ce03",
-    urls = [
-        "https://github.com/bazelbuild/rules_perl/archive/43d2db0aafe595fe0ac61b808c9c13ea9769ce03.tar.gz",
-    ],
-)
-
-load("@rules_perl//perl:deps.bzl", "perl_register_toolchains", "perl_rules_dependencies")
-
-perl_rules_dependencies()
-
-perl_register_toolchains()
-
 ###############################################################################
 # N O   C A R G O   M A N I F E S T S
 ###############################################################################
@@ -237,7 +224,7 @@
         ),
         "hyper": crate.spec(
             features = ["full"],
-            version = "0.14",
+            version = "0.14.22",
         ),
         "mime": crate.spec(
             version = "0.3",
@@ -245,6 +232,12 @@
         "serde_json": crate.spec(
             version = "1.0",
         ),
+        # TODO: This dependency is added and pinned forward due to the
+        # following issue: https://github.com/hyperium/hyper/issues/3038
+        "socket2": crate.spec(
+            features = ["all"],
+            version = "0.4.7",
+        ),
         "tokio": crate.spec(
             features = ["full"],
             version = "1.17.0",
@@ -321,18 +314,18 @@
 
 # Used for Bazel CI
 http_archive(
-    name = "bazel_toolchains",
-    sha256 = "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024",
-    strip_prefix = "bazel-toolchains-4.1.0",
-    urls = [
-        "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
-        "https://github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
-    ],
+    name = "bazelci_rules",
+    sha256 = "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
+    strip_prefix = "bazelci_rules-1.0.0",
+    url = "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz",
 )
 
-load("@bazel_toolchains//rules:rbe_repo.bzl", "rbe_autoconfig")
+load("@bazelci_rules//:rbe_repo.bzl", "rbe_preconfig")
 
 # Creates a default toolchain config for RBE.
 # Use this as is if you are using the rbe_ubuntu16_04 container,
 # otherwise refer to RBE docs.
-rbe_autoconfig(name = "buildkite_config")
+rbe_preconfig(
+    name = "buildkite_config",
+    toolchain = "ubuntu1804-bazel-java11",
+)
diff --git a/examples/crate_universe/cargo_aliases/.bazelrc b/examples/crate_universe/cargo_aliases/.bazelrc
index d63c809..5c479fa 100644
--- a/examples/crate_universe/cargo_aliases/.bazelrc
+++ b/examples/crate_universe/cargo_aliases/.bazelrc
@@ -1,5 +1,10 @@
 # A config file containing Bazel settings
 
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
 # Enable rustfmt
 build:strict --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
 build:strict --output_groups=+rustfmt_checks
diff --git a/examples/crate_universe/cargo_aliases/Cargo.Bazel.lock b/examples/crate_universe/cargo_aliases/Cargo.Bazel.lock
index ed8b08d..996e7a0 100644
--- a/examples/crate_universe/cargo_aliases/Cargo.Bazel.lock
+++ b/examples/crate_universe/cargo_aliases/Cargo.Bazel.lock
@@ -4,9 +4,9 @@
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "0.7.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
 dependencies = [
  "memchr",
 ]
@@ -16,10 +16,10 @@
 version = "0.1.0"
 dependencies = [
  "env_logger",
- "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
- "names 0.12.1-dev (git+https://github.com/fnichol/names.git?rev=760516503b89ddc8bc2ab42d579d4566cfb1054f#760516503b89ddc8bc2ab42d579d4566cfb1054f)",
- "names 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.3.9",
+ "log 0.4.14",
+ "names 0.12.1-dev",
+ "names 0.13.0",
  "value-bag",
 ]
 
@@ -54,9 +54,9 @@
 
 [[package]]
 name = "clap"
-version = "3.2.8"
+version = "3.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "190814073e85d238f31ff738fcb0bf6910cedeb73376c87cd69291028966fd83"
+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
 dependencies = [
  "atty",
  "bitflags",
@@ -71,9 +71,9 @@
 
 [[package]]
 name = "clap_derive"
-version = "3.2.7"
+version = "3.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902"
+checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65"
 dependencies = [
  "heck",
  "proc-macro-error",
@@ -93,9 +93,9 @@
 
 [[package]]
 name = "ctor"
-version = "0.1.22"
+version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
 dependencies = [
  "quote",
  "syn",
@@ -103,22 +103,22 @@
 
 [[package]]
 name = "env_logger"
-version = "0.9.0"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
+checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
 dependencies = [
  "atty",
  "humantime",
- "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.14",
  "regex",
  "termcolor",
 ]
 
 [[package]]
 name = "getrandom"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
 dependencies = [
  "cfg-if",
  "libc",
@@ -127,15 +127,15 @@
 
 [[package]]
 name = "hashbrown"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "heck"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
@@ -154,9 +154,9 @@
 
 [[package]]
 name = "indexmap"
-version = "1.9.1"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
 dependencies = [
  "autocfg",
  "hashbrown",
@@ -164,9 +164,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.126"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "log"
@@ -174,7 +174,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
 dependencies = [
- "log 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.14",
 ]
 
 [[package]]
@@ -213,21 +213,21 @@
 
 [[package]]
 name = "once_cell"
-version = "1.13.0"
+version = "1.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
 
 [[package]]
 name = "os_str_bytes"
-version = "6.1.0"
+version = "6.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro-error"
@@ -255,18 +255,18 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.40"
+version = "1.0.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.20"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
 dependencies = [
  "proc-macro2",
 ]
@@ -294,18 +294,18 @@
 
 [[package]]
 name = "rand_core"
-version = "0.6.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
  "getrandom",
 ]
 
 [[package]]
 name = "regex"
-version = "1.6.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -314,9 +314,9 @@
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.27"
+version = "0.6.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
 
 [[package]]
 name = "strsim"
@@ -326,9 +326,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.98"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -337,24 +337,24 @@
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "textwrap"
-version = "0.15.0"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
 
 [[package]]
 name = "value-bag"
diff --git a/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json b/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json
index 7c11d08..28d7fe7 100644
--- a/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json
+++ b/examples/crate_universe/cargo_aliases/cargo-bazel-lock.json
@@ -1,13 +1,13 @@
 {
-  "checksum": "18e65377d421f78219df17791be449590f3d10960d5595f9005cee735032567b",
+  "checksum": "12cb5ff750a9eb96d260399179c27cb1b69af7238f3169dd7b4f19a58a41001c",
   "crates": {
-    "aho-corasick 0.7.18": {
+    "aho-corasick 0.7.20": {
       "name": "aho-corasick",
-      "version": "0.7.18",
+      "version": "0.7.20",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/aho-corasick/0.7.18/download",
-          "sha256": "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+          "url": "https://crates.io/api/v1/crates/aho-corasick/0.7.20/download",
+          "sha256": "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
         }
       },
       "targets": [
@@ -15,12 +15,9 @@
           "Library": {
             "crate_name": "aho_corasick",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -29,10 +26,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -43,9 +43,9 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.7.18"
+        "version": "0.7.20"
       },
-      "license": "Unlicense/MIT"
+      "license": "Unlicense OR MIT"
     },
     "aliases 0.1.0": {
       "name": "aliases",
@@ -56,12 +56,9 @@
           "Library": {
             "crate_name": "aliases",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -100,7 +97,7 @@
         "deps_dev": {
           "common": [
             {
-              "id": "env_logger 0.9.0",
+              "id": "env_logger 0.9.3",
               "target": "env_logger"
             }
           ],
@@ -125,12 +122,9 @@
           "Library": {
             "crate_name": "atty",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -150,7 +144,7 @@
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
@@ -181,12 +175,9 @@
           "Library": {
             "crate_name": "autocfg",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -214,12 +205,9 @@
           "Library": {
             "crate_name": "bitflags",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -228,9 +216,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "1.3.2"
       },
@@ -250,12 +241,9 @@
           "Library": {
             "crate_name": "cfg_if",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -269,13 +257,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "clap 3.2.8": {
+    "clap 3.2.23": {
       "name": "clap",
-      "version": "3.2.8",
+      "version": "3.2.23",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/clap/3.2.8/download",
-          "sha256": "190814073e85d238f31ff738fcb0bf6910cedeb73376c87cd69291028966fd83"
+          "url": "https://crates.io/api/v1/crates/clap/3.2.23/download",
+          "sha256": "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
         }
       },
       "targets": [
@@ -283,24 +271,9 @@
           "Library": {
             "crate_name": "clap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "Binary": {
-            "crate_name": "stdio-fixture",
-            "crate_root": "src/bin/stdio-fixture.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -309,18 +282,21 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "atty",
-          "clap_derive",
-          "color",
-          "default",
-          "derive",
-          "once_cell",
-          "std",
-          "strsim",
-          "suggestions",
-          "termcolor"
-        ],
+        "crate_features": {
+          "common": [
+            "atty",
+            "clap_derive",
+            "color",
+            "default",
+            "derive",
+            "once_cell",
+            "std",
+            "strsim",
+            "suggestions",
+            "termcolor"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -336,11 +312,11 @@
               "target": "clap_lex"
             },
             {
-              "id": "indexmap 1.9.1",
+              "id": "indexmap 1.9.2",
               "target": "indexmap"
             },
             {
-              "id": "once_cell 1.13.0",
+              "id": "once_cell 1.17.1",
               "target": "once_cell"
             },
             {
@@ -348,11 +324,11 @@
               "target": "strsim"
             },
             {
-              "id": "termcolor 1.1.3",
+              "id": "termcolor 1.2.0",
               "target": "termcolor"
             },
             {
-              "id": "textwrap 0.15.0",
+              "id": "textwrap 0.16.0",
               "target": "textwrap"
             }
           ],
@@ -362,23 +338,23 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "clap_derive 3.2.7",
+              "id": "clap_derive 3.2.18",
               "target": "clap_derive"
             }
           ],
           "selects": {}
         },
-        "version": "3.2.8"
+        "version": "3.2.23"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "clap_derive 3.2.7": {
+    "clap_derive 3.2.18": {
       "name": "clap_derive",
-      "version": "3.2.7",
+      "version": "3.2.18",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/clap_derive/3.2.7/download",
-          "sha256": "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902"
+          "url": "https://crates.io/api/v1/crates/clap_derive/3.2.18/download",
+          "sha256": "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65"
         }
       },
       "targets": [
@@ -386,12 +362,9 @@
           "ProcMacro": {
             "crate_name": "clap_derive",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -400,13 +373,16 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "heck 0.4.0",
+              "id": "heck 0.4.1",
               "target": "heck"
             },
             {
@@ -414,22 +390,22 @@
               "target": "proc_macro_error"
             },
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2021",
-        "version": "3.2.7"
+        "version": "3.2.18"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -447,12 +423,9 @@
           "Library": {
             "crate_name": "clap_lex",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -464,7 +437,7 @@
         "deps": {
           "common": [
             {
-              "id": "os_str_bytes 6.1.0",
+              "id": "os_str_bytes 6.4.1",
               "target": "os_str_bytes"
             }
           ],
@@ -475,13 +448,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "ctor 0.1.22": {
+    "ctor 0.1.26": {
       "name": "ctor",
-      "version": "0.1.22",
+      "version": "0.1.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/ctor/0.1.22/download",
-          "sha256": "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
+          "url": "https://crates.io/api/v1/crates/ctor/0.1.26/download",
+          "sha256": "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
         }
       },
       "targets": [
@@ -489,12 +462,9 @@
           "ProcMacro": {
             "crate_name": "ctor",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -506,28 +476,28 @@
         "deps": {
           "common": [
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.22"
+        "version": "0.1.26"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "env_logger 0.9.0": {
+    "env_logger 0.9.3": {
       "name": "env_logger",
-      "version": "0.9.0",
+      "version": "0.9.3",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/env_logger/0.9.0/download",
-          "sha256": "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
+          "url": "https://crates.io/api/v1/crates/env_logger/0.9.3/download",
+          "sha256": "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
         }
       },
       "targets": [
@@ -535,12 +505,9 @@
           "Library": {
             "crate_name": "env_logger",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -549,13 +516,16 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "atty",
-          "default",
-          "humantime",
-          "regex",
-          "termcolor"
-        ],
+        "crate_features": {
+          "common": [
+            "atty",
+            "default",
+            "humantime",
+            "regex",
+            "termcolor"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -571,28 +541,28 @@
               "target": "log"
             },
             {
-              "id": "regex 1.6.0",
+              "id": "regex 1.7.1",
               "target": "regex"
             },
             {
-              "id": "termcolor 1.1.3",
+              "id": "termcolor 1.2.0",
               "target": "termcolor"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.9.0"
+        "version": "0.9.3"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
-    "getrandom 0.2.7": {
+    "getrandom 0.2.8": {
       "name": "getrandom",
-      "version": "0.2.7",
+      "version": "0.2.8",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/getrandom/0.2.7/download",
-          "sha256": "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
+          "url": "https://crates.io/api/v1/crates/getrandom/0.2.8/download",
+          "sha256": "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
         }
       },
       "targets": [
@@ -600,12 +570,9 @@
           "Library": {
             "crate_name": "getrandom",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -614,9 +581,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -633,24 +603,24 @@
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "0.2.7"
+        "version": "0.2.8"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "hashbrown 0.12.1": {
+    "hashbrown 0.12.3": {
       "name": "hashbrown",
-      "version": "0.12.1",
+      "version": "0.12.3",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hashbrown/0.12.1/download",
-          "sha256": "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+          "url": "https://crates.io/api/v1/crates/hashbrown/0.12.3/download",
+          "sha256": "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
         }
       },
       "targets": [
@@ -658,12 +628,9 @@
           "Library": {
             "crate_name": "hashbrown",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -672,21 +639,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "raw"
-        ],
+        "crate_features": {
+          "common": [
+            "raw"
+          ],
+          "selects": {}
+        },
         "edition": "2021",
-        "version": "0.12.1"
+        "version": "0.12.3"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "heck 0.4.0": {
+    "heck 0.4.1": {
       "name": "heck",
-      "version": "0.4.0",
+      "version": "0.4.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/heck/0.4.0/download",
-          "sha256": "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+          "url": "https://crates.io/api/v1/crates/heck/0.4.1/download",
+          "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
         }
       },
       "targets": [
@@ -694,12 +664,9 @@
           "Library": {
             "crate_name": "heck",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -708,11 +675,14 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.4.0"
+        "version": "0.4.1"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -730,12 +700,9 @@
           "Library": {
             "crate_name": "hermit_abi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -744,13 +711,10 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             }
           ],
@@ -775,12 +739,9 @@
           "Library": {
             "crate_name": "humantime",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -794,13 +755,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "indexmap 1.9.1": {
+    "indexmap 1.9.2": {
       "name": "indexmap",
-      "version": "1.9.1",
+      "version": "1.9.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/indexmap/1.9.1/download",
-          "sha256": "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+          "url": "https://crates.io/api/v1/crates/indexmap/1.9.2/download",
+          "sha256": "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
         }
       },
       "targets": [
@@ -808,24 +769,18 @@
           "Library": {
             "crate_name": "indexmap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -834,24 +789,27 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "hashbrown 0.12.1",
+              "id": "hashbrown 0.12.3",
               "target": "hashbrown"
             },
             {
-              "id": "indexmap 1.9.1",
+              "id": "indexmap 1.9.2",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2021",
-        "version": "1.9.1"
+        "version": "1.9.2"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -869,13 +827,13 @@
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "libc 0.2.126": {
+    "libc 0.2.139": {
       "name": "libc",
-      "version": "0.2.126",
+      "version": "0.2.139",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/libc/0.2.126/download",
-          "sha256": "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+          "url": "https://crates.io/api/v1/crates/libc/0.2.139/download",
+          "sha256": "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
         }
       },
       "targets": [
@@ -883,24 +841,18 @@
           "Library": {
             "crate_name": "libc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -912,14 +864,14 @@
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "0.2.126"
+        "version": "0.2.139"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -942,12 +894,9 @@
           "Library": {
             "crate_name": "log",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -956,10 +905,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "use_std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "use_std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -988,24 +940,18 @@
           "Library": {
             "crate_name": "log",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1014,9 +960,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1054,24 +1003,18 @@
           "Library": {
             "crate_name": "memchr",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1080,10 +1023,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1120,36 +1066,18 @@
           "Library": {
             "crate_name": "names",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "Binary": {
-            "crate_name": "names",
-            "crate_root": "src/bin/names.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1158,15 +1086,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "application",
-          "clap",
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "application",
+            "clap",
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "clap 3.2.8",
+              "id": "clap 3.2.23",
               "target": "clap"
             },
             {
@@ -1204,36 +1135,18 @@
           "Library": {
             "crate_name": "names",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "Binary": {
-            "crate_name": "names",
-            "crate_root": "src/bin/names.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1242,15 +1155,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "application",
-          "clap",
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "application",
+            "clap",
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "clap 3.2.8",
+              "id": "clap 3.2.23",
               "target": "clap"
             },
             {
@@ -1274,13 +1190,13 @@
       },
       "license": "MIT"
     },
-    "once_cell 1.13.0": {
+    "once_cell 1.17.1": {
       "name": "once_cell",
-      "version": "1.13.0",
+      "version": "1.17.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/once_cell/1.13.0/download",
-          "sha256": "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+          "url": "https://crates.io/api/v1/crates/once_cell/1.17.1/download",
+          "sha256": "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
         }
       },
       "targets": [
@@ -1288,12 +1204,9 @@
           "Library": {
             "crate_name": "once_cell",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1302,24 +1215,27 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "race",
-          "std"
-        ],
-        "edition": "2018",
-        "version": "1.13.0"
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "race",
+            "std"
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "1.17.1"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "os_str_bytes 6.1.0": {
+    "os_str_bytes 6.4.1": {
       "name": "os_str_bytes",
-      "version": "6.1.0",
+      "version": "6.4.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/os_str_bytes/6.1.0/download",
-          "sha256": "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa"
+          "url": "https://crates.io/api/v1/crates/os_str_bytes/6.4.1/download",
+          "sha256": "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
         }
       },
       "targets": [
@@ -1327,12 +1243,9 @@
           "Library": {
             "crate_name": "os_str_bytes",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1341,21 +1254,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "raw_os_str"
-        ],
-        "edition": "2018",
-        "version": "6.1.0"
+        "crate_features": {
+          "common": [
+            "raw_os_str"
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "6.4.1"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "ppv-lite86 0.2.16": {
+    "ppv-lite86 0.2.17": {
       "name": "ppv-lite86",
-      "version": "0.2.16",
+      "version": "0.2.17",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/ppv-lite86/0.2.16/download",
-          "sha256": "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+          "url": "https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download",
+          "sha256": "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
         }
       },
       "targets": [
@@ -1363,12 +1279,9 @@
           "Library": {
             "crate_name": "ppv_lite86",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1377,12 +1290,15 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "simd",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "simd",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.2.16"
+        "version": "0.2.17"
       },
       "license": "MIT/Apache-2.0"
     },
@@ -1400,24 +1316,18 @@
           "Library": {
             "crate_name": "proc_macro_error",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1426,11 +1336,14 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "syn",
-          "syn-error"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "syn",
+            "syn-error"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1438,15 +1351,15 @@
               "target": "build_script_build"
             },
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
@@ -1494,24 +1407,18 @@
           "ProcMacro": {
             "crate_name": "proc_macro_error_attr",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1527,11 +1434,11 @@
               "target": "build_script_build"
             },
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             }
           ],
@@ -1556,13 +1463,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "proc-macro2 1.0.40": {
+    "proc-macro2 1.0.51": {
       "name": "proc-macro2",
-      "version": "1.0.40",
+      "version": "1.0.51",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.40/download",
-          "sha256": "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+          "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.51/download",
+          "sha256": "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
         }
       },
       "targets": [
@@ -1570,24 +1477,18 @@
           "Library": {
             "crate_name": "proc_macro2",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1596,25 +1497,28 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "proc-macro"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "proc-macro"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "build_script_build"
             },
             {
-              "id": "unicode-ident 1.0.1",
+              "id": "unicode-ident 1.0.6",
               "target": "unicode_ident"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.40"
+        "version": "1.0.51"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1623,13 +1527,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "quote 1.0.20": {
+    "quote 1.0.23": {
       "name": "quote",
-      "version": "1.0.20",
+      "version": "1.0.23",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/quote/1.0.20/download",
-          "sha256": "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+          "url": "https://crates.io/api/v1/crates/quote/1.0.23/download",
+          "sha256": "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
         }
       },
       "targets": [
@@ -1637,24 +1541,18 @@
           "Library": {
             "crate_name": "quote",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1663,25 +1561,28 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "proc-macro"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "proc-macro"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.20"
+        "version": "1.0.23"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1704,12 +1605,9 @@
           "Library": {
             "crate_name": "rand",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1718,15 +1616,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "getrandom",
-          "libc",
-          "rand_chacha",
-          "std",
-          "std_rng"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "getrandom",
+            "libc",
+            "rand_chacha",
+            "std",
+            "std_rng"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1734,14 +1635,14 @@
               "target": "rand_chacha"
             },
             {
-              "id": "rand_core 0.6.3",
+              "id": "rand_core 0.6.4",
               "target": "rand_core"
             }
           ],
           "selects": {
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ]
@@ -1766,12 +1667,9 @@
           "Library": {
             "crate_name": "rand_chacha",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1780,17 +1678,20 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "ppv-lite86 0.2.16",
+              "id": "ppv-lite86 0.2.17",
               "target": "ppv_lite86"
             },
             {
-              "id": "rand_core 0.6.3",
+              "id": "rand_core 0.6.4",
               "target": "rand_core"
             }
           ],
@@ -1801,13 +1702,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "rand_core 0.6.3": {
+    "rand_core 0.6.4": {
       "name": "rand_core",
-      "version": "0.6.3",
+      "version": "0.6.4",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/rand_core/0.6.3/download",
-          "sha256": "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+          "url": "https://crates.io/api/v1/crates/rand_core/0.6.4/download",
+          "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
         }
       },
       "targets": [
@@ -1815,12 +1716,9 @@
           "Library": {
             "crate_name": "rand_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1829,32 +1727,35 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "getrandom",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "getrandom",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "getrandom 0.2.7",
+              "id": "getrandom 0.2.8",
               "target": "getrandom"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.6.3"
+        "version": "0.6.4"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "regex 1.6.0": {
+    "regex 1.7.1": {
       "name": "regex",
-      "version": "1.6.0",
+      "version": "1.7.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/regex/1.6.0/download",
-          "sha256": "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+          "url": "https://crates.io/api/v1/crates/regex/1.7.1/download",
+          "sha256": "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
         }
       },
       "targets": [
@@ -1862,12 +1763,9 @@
           "Library": {
             "crate_name": "regex",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1876,20 +1774,23 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "aho-corasick",
-          "memchr",
-          "perf",
-          "perf-cache",
-          "perf-dfa",
-          "perf-inline",
-          "perf-literal",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "aho-corasick",
+            "memchr",
+            "perf",
+            "perf-cache",
+            "perf-dfa",
+            "perf-inline",
+            "perf-literal",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "aho-corasick 0.7.18",
+              "id": "aho-corasick 0.7.20",
               "target": "aho_corasick"
             },
             {
@@ -1897,24 +1798,24 @@
               "target": "memchr"
             },
             {
-              "id": "regex-syntax 0.6.27",
+              "id": "regex-syntax 0.6.28",
               "target": "regex_syntax"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.6.0"
+        "version": "1.7.1"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "regex-syntax 0.6.27": {
+    "regex-syntax 0.6.28": {
       "name": "regex-syntax",
-      "version": "0.6.27",
+      "version": "0.6.28",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/regex-syntax/0.6.27/download",
-          "sha256": "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+          "url": "https://crates.io/api/v1/crates/regex-syntax/0.6.28/download",
+          "sha256": "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
         }
       },
       "targets": [
@@ -1922,12 +1823,9 @@
           "Library": {
             "crate_name": "regex_syntax",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1937,7 +1835,7 @@
           "**"
         ],
         "edition": "2018",
-        "version": "0.6.27"
+        "version": "0.6.28"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -1955,12 +1853,9 @@
           "Library": {
             "crate_name": "strsim",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1974,13 +1869,13 @@
       },
       "license": "MIT"
     },
-    "syn 1.0.98": {
+    "syn 1.0.109": {
       "name": "syn",
-      "version": "1.0.98",
+      "version": "1.0.109",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/syn/1.0.98/download",
-          "sha256": "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+          "url": "https://crates.io/api/v1/crates/syn/1.0.109/download",
+          "sha256": "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
         }
       },
       "targets": [
@@ -1988,24 +1883,18 @@
           "Library": {
             "crate_name": "syn",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2014,39 +1903,42 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "clone-impls",
-          "default",
-          "derive",
-          "full",
-          "parsing",
-          "printing",
-          "proc-macro",
-          "quote"
-        ],
+        "crate_features": {
+          "common": [
+            "clone-impls",
+            "default",
+            "derive",
+            "full",
+            "parsing",
+            "printing",
+            "proc-macro",
+            "quote"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "build_script_build"
             },
             {
-              "id": "unicode-ident 1.0.1",
+              "id": "unicode-ident 1.0.6",
               "target": "unicode_ident"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.98"
+        "version": "1.0.109"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2055,13 +1947,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "termcolor 1.1.3": {
+    "termcolor 1.2.0": {
       "name": "termcolor",
-      "version": "1.1.3",
+      "version": "1.2.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/termcolor/1.1.3/download",
-          "sha256": "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+          "url": "https://crates.io/api/v1/crates/termcolor/1.2.0/download",
+          "sha256": "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
         }
       },
       "targets": [
@@ -2069,12 +1961,9 @@
           "Library": {
             "crate_name": "termcolor",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2095,17 +1984,17 @@
           }
         },
         "edition": "2018",
-        "version": "1.1.3"
+        "version": "1.2.0"
       },
       "license": "Unlicense OR MIT"
     },
-    "textwrap 0.15.0": {
+    "textwrap 0.16.0": {
       "name": "textwrap",
-      "version": "0.15.0",
+      "version": "0.16.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/textwrap/0.15.0/download",
-          "sha256": "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
+          "url": "https://crates.io/api/v1/crates/textwrap/0.16.0/download",
+          "sha256": "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
         }
       },
       "targets": [
@@ -2113,12 +2002,9 @@
           "Library": {
             "crate_name": "textwrap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2127,18 +2013,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "edition": "2018",
-        "version": "0.15.0"
+        "edition": "2021",
+        "version": "0.16.0"
       },
       "license": "MIT"
     },
-    "unicode-ident 1.0.1": {
+    "unicode-ident 1.0.6": {
       "name": "unicode-ident",
-      "version": "1.0.1",
+      "version": "1.0.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/unicode-ident/1.0.1/download",
-          "sha256": "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+          "url": "https://crates.io/api/v1/crates/unicode-ident/1.0.6/download",
+          "sha256": "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
         }
       },
       "targets": [
@@ -2146,12 +2032,9 @@
           "Library": {
             "crate_name": "unicode_ident",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2161,9 +2044,9 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.1"
+        "version": "1.0.6"
       },
-      "license": "MIT OR Apache-2.0"
+      "license": "(MIT OR Apache-2.0) AND Unicode-DFS-2016"
     },
     "value-bag 1.0.0-alpha.7": {
       "name": "value-bag",
@@ -2179,24 +2062,18 @@
           "Library": {
             "crate_name": "value_bag",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2218,7 +2095,7 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "ctor 0.1.22",
+              "id": "ctor 0.1.26",
               "target": "ctor"
             }
           ],
@@ -2257,12 +2134,9 @@
           "Library": {
             "crate_name": "version_check",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2290,12 +2164,9 @@
           "Library": {
             "crate_name": "wasi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2304,10 +2175,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "0.11.0+wasi-snapshot-preview1"
       },
@@ -2327,24 +2201,18 @@
           "Library": {
             "crate_name": "winapi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2353,19 +2221,22 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "consoleapi",
-          "errhandlingapi",
-          "fileapi",
-          "minwinbase",
-          "minwindef",
-          "processenv",
-          "std",
-          "winbase",
-          "wincon",
-          "winerror",
-          "winnt"
-        ],
+        "crate_features": {
+          "common": [
+            "consoleapi",
+            "errhandlingapi",
+            "fileapi",
+            "minwinbase",
+            "minwindef",
+            "processenv",
+            "std",
+            "winbase",
+            "wincon",
+            "winerror",
+            "winnt"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -2412,24 +2283,18 @@
           "Library": {
             "crate_name": "winapi_i686_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2471,12 +2336,9 @@
           "Library": {
             "crate_name": "winapi_util",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2515,24 +2377,18 @@
           "Library": {
             "crate_name": "winapi_x86_64_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2561,11 +2417,7 @@
       "license": "MIT/Apache-2.0"
     }
   },
-  "binary_crates": [
-    "clap 3.2.8",
-    "names 0.12.1-dev",
-    "names 0.13.0"
-  ],
+  "binary_crates": [],
   "workspace_members": {
     "aliases 0.1.0": "cargo_aliases"
   },
@@ -2578,6 +2430,7 @@
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -2591,11 +2444,13 @@
       "s390x-unknown-linux-gnu",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
       "x86_64-unknown-linux-gnu"
     ],
     "cfg(windows)": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
diff --git a/examples/crate_universe/cargo_conditional_deps/BUILD.bazel b/examples/crate_universe/cargo_conditional_deps/BUILD.bazel
new file mode 100644
index 0000000..c94b6c0
--- /dev/null
+++ b/examples/crate_universe/cargo_conditional_deps/BUILD.bazel
@@ -0,0 +1,16 @@
+load("@crate_index_cargo_conditional_deps//:defs.bzl", "aliases", "all_crate_deps")
+load("@rules_rust//rust:defs.bzl", "rust_binary")
+
+rust_binary(
+    name = "example",
+    srcs = [
+        "src/main.rs",
+    ],
+    aliases = aliases(),
+    proc_macro_deps = all_crate_deps(
+        proc_macro = True,
+    ),
+    deps = all_crate_deps(
+        normal = True,
+    ),
+)
diff --git a/examples/crate_universe/cargo_conditional_deps/Cargo.Bazel.lock b/examples/crate_universe/cargo_conditional_deps/Cargo.Bazel.lock
new file mode 100644
index 0000000..5a8a1f5
--- /dev/null
+++ b/examples/crate_universe/cargo_conditional_deps/Cargo.Bazel.lock
@@ -0,0 +1,69 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "conditional-deps"
+version = "0.1.0"
+dependencies = [
+ "nix",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.146"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
+
+[[package]]
+name = "memoffset"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "libc",
+ "memoffset",
+ "pin-utils",
+ "static_assertions",
+]
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
diff --git a/examples/crate_universe/cargo_conditional_deps/Cargo.toml b/examples/crate_universe/cargo_conditional_deps/Cargo.toml
new file mode 100644
index 0000000..c5875ea
--- /dev/null
+++ b/examples/crate_universe/cargo_conditional_deps/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "conditional-deps"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[target.'cfg(target_os = "linux")'.dependencies]
+nix = { version = "0.26.2", features = ["time", "process"] }
diff --git a/examples/crate_universe/cargo_conditional_deps/cargo-bazel-lock.json b/examples/crate_universe/cargo_conditional_deps/cargo-bazel-lock.json
new file mode 100644
index 0000000..e5e085b
--- /dev/null
+++ b/examples/crate_universe/cargo_conditional_deps/cargo-bazel-lock.json
@@ -0,0 +1,466 @@
+{
+  "checksum": "d74a268a815c6813b30989807df6179814f4d45c29e214eba8a94f96c37f6eb5",
+  "crates": {
+    "autocfg 1.1.0": {
+      "name": "autocfg",
+      "version": "1.1.0",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/autocfg/1.1.0/download",
+          "sha256": "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "autocfg",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "autocfg",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "edition": "2015",
+        "version": "1.1.0"
+      },
+      "license": "Apache-2.0 OR MIT"
+    },
+    "bitflags 1.3.2": {
+      "name": "bitflags",
+      "version": "1.3.2",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/bitflags/1.3.2/download",
+          "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "bitflags",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "bitflags",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "1.3.2"
+      },
+      "license": "MIT/Apache-2.0"
+    },
+    "cfg-if 1.0.0": {
+      "name": "cfg-if",
+      "version": "1.0.0",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/cfg-if/1.0.0/download",
+          "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "cfg_if",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "cfg_if",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "edition": "2018",
+        "version": "1.0.0"
+      },
+      "license": "MIT/Apache-2.0"
+    },
+    "conditional-deps 0.1.0": {
+      "name": "conditional-deps",
+      "version": "0.1.0",
+      "repository": null,
+      "targets": [],
+      "library_target_name": null,
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [],
+          "selects": {
+            "cfg(target_os = \"linux\")": [
+              {
+                "id": "nix 0.26.2",
+                "target": "nix"
+              }
+            ]
+          }
+        },
+        "edition": "2021",
+        "version": "0.1.0"
+      },
+      "license": null
+    },
+    "libc 0.2.146": {
+      "name": "libc",
+      "version": "0.2.146",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/libc/0.2.146/download",
+          "sha256": "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "libc",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "libc",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "extra_traits",
+            "std"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "libc 0.2.146",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2015",
+        "version": "0.2.146"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ]
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "memoffset 0.7.1": {
+      "name": "memoffset",
+      "version": "0.7.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/memoffset/0.7.1/download",
+          "sha256": "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "memoffset",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "memoffset",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "memoffset 0.7.1",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2015",
+        "version": "0.7.1"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
+      },
+      "license": "MIT"
+    },
+    "nix 0.26.2": {
+      "name": "nix",
+      "version": "0.26.2",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/nix/0.26.2/download",
+          "sha256": "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "nix",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "nix",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "acct",
+            "aio",
+            "default",
+            "dir",
+            "env",
+            "event",
+            "feature",
+            "fs",
+            "hostname",
+            "inotify",
+            "ioctl",
+            "kmod",
+            "memoffset",
+            "mman",
+            "mount",
+            "mqueue",
+            "net",
+            "personality",
+            "pin-utils",
+            "poll",
+            "process",
+            "pthread",
+            "ptrace",
+            "quota",
+            "reboot",
+            "resource",
+            "sched",
+            "signal",
+            "socket",
+            "term",
+            "time",
+            "ucontext",
+            "uio",
+            "user",
+            "zerocopy"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "bitflags 1.3.2",
+              "target": "bitflags"
+            },
+            {
+              "id": "cfg-if 1.0.0",
+              "target": "cfg_if"
+            },
+            {
+              "id": "libc 0.2.146",
+              "target": "libc"
+            },
+            {
+              "id": "pin-utils 0.1.0",
+              "target": "pin_utils"
+            },
+            {
+              "id": "static_assertions 1.1.0",
+              "target": "static_assertions"
+            }
+          ],
+          "selects": {
+            "cfg(not(target_os = \"redox\"))": [
+              {
+                "id": "memoffset 0.7.1",
+                "target": "memoffset"
+              }
+            ]
+          }
+        },
+        "edition": "2018",
+        "version": "0.26.2"
+      },
+      "license": "MIT"
+    },
+    "pin-utils 0.1.0": {
+      "name": "pin-utils",
+      "version": "0.1.0",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/pin-utils/0.1.0/download",
+          "sha256": "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "pin_utils",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "pin_utils",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "edition": "2018",
+        "version": "0.1.0"
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "static_assertions 1.1.0": {
+      "name": "static_assertions",
+      "version": "1.1.0",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/static_assertions/1.1.0/download",
+          "sha256": "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "static_assertions",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "static_assertions",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "edition": "2015",
+        "version": "1.1.0"
+      },
+      "license": "MIT OR Apache-2.0"
+    }
+  },
+  "binary_crates": [],
+  "workspace_members": {
+    "conditional-deps 0.1.0": "cargo_conditional_deps"
+  },
+  "conditions": {
+    "cfg(not(target_os = \"redox\"))": [
+      "aarch64-apple-darwin",
+      "aarch64-apple-ios",
+      "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
+      "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
+      "aarch64-unknown-linux-gnu",
+      "arm-unknown-linux-gnueabi",
+      "armv7-linux-androideabi",
+      "armv7-unknown-linux-gnueabi",
+      "i686-apple-darwin",
+      "i686-linux-android",
+      "i686-pc-windows-msvc",
+      "i686-unknown-freebsd",
+      "i686-unknown-linux-gnu",
+      "powerpc-unknown-linux-gnu",
+      "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
+      "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
+      "wasm32-unknown-unknown",
+      "wasm32-wasi",
+      "x86_64-apple-darwin",
+      "x86_64-apple-ios",
+      "x86_64-fuchsia",
+      "x86_64-linux-android",
+      "x86_64-pc-windows-msvc",
+      "x86_64-unknown-freebsd",
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
+    ],
+    "cfg(target_os = \"linux\")": [
+      "aarch64-unknown-linux-gnu",
+      "arm-unknown-linux-gnueabi",
+      "armv7-unknown-linux-gnueabi",
+      "i686-unknown-linux-gnu",
+      "powerpc-unknown-linux-gnu",
+      "s390x-unknown-linux-gnu",
+      "x86_64-unknown-linux-gnu"
+    ]
+  }
+}
diff --git a/examples/crate_universe/cargo_conditional_deps/src/main.rs b/examples/crate_universe/cargo_conditional_deps/src/main.rs
new file mode 100644
index 0000000..c3ecad7
--- /dev/null
+++ b/examples/crate_universe/cargo_conditional_deps/src/main.rs
@@ -0,0 +1,18 @@
+#[cfg(target_os = "linux")]
+fn print_time() {
+    println!(
+        "nix time: {}",
+        nix::time::clock_getcpuclockid(nix::unistd::Pid::this())
+            .and_then(nix::time::clock_gettime)
+            .unwrap()
+    )
+}
+
+#[cfg(not(target_os = "linux"))]
+fn print_time() {
+    println!("other time: {:?}", std::time::SystemTime::now())
+}
+
+fn main() {
+    print_time()
+}
diff --git a/examples/crate_universe/cargo_local/Cargo.lock b/examples/crate_universe/cargo_local/Cargo.lock
index a9454b6..fafd1f6 100644
--- a/examples/crate_universe/cargo_local/Cargo.lock
+++ b/examples/crate_universe/cargo_local/Cargo.lock
@@ -4,19 +4,20 @@
 
 [[package]]
 name = "async-stream"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e"
+checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e"
 dependencies = [
  "async-stream-impl",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-stream-impl"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27"
+checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -37,9 +38,9 @@
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "cargo_local"
@@ -51,31 +52,58 @@
 ]
 
 [[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+[[package]]
 name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "fastrand"
-version = "1.7.0"
+name = "errno"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
 dependencies = [
  "instant",
 ]
 
 [[package]]
 name = "futures-core"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
 dependencies = [
  "libc",
 ]
@@ -90,16 +118,32 @@
 ]
 
 [[package]]
-name = "libc"
-version = "0.2.126"
+name = "io-lifetimes"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
+dependencies = [
+ "libc",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
 
 [[package]]
 name = "lock_api"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -122,33 +166,27 @@
 
 [[package]]
 name = "mio"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
 dependencies = [
  "libc",
  "log",
  "wasi",
- "windows-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.13.1"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
  "hermit-abi",
  "libc",
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
-
-[[package]]
 name = "parking_lot"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -160,15 +198,15 @@
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.3"
+version = "0.9.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
 dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -179,38 +217,43 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.40"
+version = "1.0.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.20"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.13"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
  "bitflags",
 ]
 
 [[package]]
-name = "remove_dir_all"
-version = "0.5.3"
+name = "rustix"
+version = "0.36.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
 dependencies = [
- "winapi",
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -221,24 +264,24 @@
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
 name = "socket2"
-version = "0.4.4"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
 dependencies = [
  "libc",
  "winapi",
@@ -246,9 +289,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.98"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -257,43 +300,42 @@
 
 [[package]]
 name = "tempfile"
-version = "3.3.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
 dependencies = [
  "cfg-if",
  "fastrand",
- "libc",
  "redox_syscall",
- "remove_dir_all",
- "winapi",
+ "rustix",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
 name = "tokio"
-version = "1.19.2"
+version = "1.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
 dependencies = [
+ "autocfg",
  "bytes",
  "libc",
  "memchr",
  "mio",
  "num_cpus",
- "once_cell",
  "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
- "winapi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "1.8.0"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -302,9 +344,9 @@
 
 [[package]]
 name = "tokio-stream"
-version = "0.1.9"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9"
+checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313"
 dependencies = [
  "futures-core",
  "pin-project-lite",
@@ -326,9 +368,9 @@
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
 
 [[package]]
 name = "wasi"
@@ -360,43 +402,81 @@
 
 [[package]]
 name = "windows-sys"
-version = "0.36.1"
+version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
 dependencies = [
+ "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
  "windows_i686_gnu",
  "windows_i686_msvc",
  "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
  "windows_x86_64_msvc",
 ]
 
 [[package]]
-name = "windows_aarch64_msvc"
-version = "0.36.1"
+name = "windows-sys"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
diff --git a/examples/crate_universe/cargo_remote/.bazelrc b/examples/crate_universe/cargo_remote/.bazelrc
index d63c809..5c479fa 100644
--- a/examples/crate_universe/cargo_remote/.bazelrc
+++ b/examples/crate_universe/cargo_remote/.bazelrc
@@ -1,5 +1,10 @@
 # A config file containing Bazel settings
 
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
 # Enable rustfmt
 build:strict --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
 build:strict --output_groups=+rustfmt_checks
diff --git a/examples/crate_universe/cargo_workspace/.bazelrc b/examples/crate_universe/cargo_workspace/.bazelrc
index d63c809..5c479fa 100644
--- a/examples/crate_universe/cargo_workspace/.bazelrc
+++ b/examples/crate_universe/cargo_workspace/.bazelrc
@@ -1,5 +1,10 @@
 # A config file containing Bazel settings
 
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
 # Enable rustfmt
 build:strict --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
 build:strict --output_groups=+rustfmt_checks
diff --git a/examples/crate_universe/cargo_workspace/Cargo.Bazel.lock b/examples/crate_universe/cargo_workspace/Cargo.Bazel.lock
index 170c43c..91d5f8c 100644
--- a/examples/crate_universe/cargo_workspace/Cargo.Bazel.lock
+++ b/examples/crate_universe/cargo_workspace/Cargo.Bazel.lock
@@ -44,23 +44,19 @@
  "atty",
  "bitflags",
  "strsim",
- "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "textwrap 0.11.0",
  "unicode-width",
  "vec_map",
 ]
 
 [[package]]
-name = "direct-cargo-bazel-deps"
-version = "0.0.1"
-
-[[package]]
 name = "ferris-says"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9515ec2dd9606ec230f6b2d1f25fd9e808a2f2af600143f7efe7e5865505b7aa"
 dependencies = [
  "smallvec",
- "textwrap 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "textwrap 0.13.4",
  "unicode-width",
 ]
 
@@ -86,9 +82,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.126"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "num_printer"
@@ -100,9 +96,9 @@
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "printer"
@@ -199,9 +195,9 @@
 
 [[package]]
 name = "unicode-width"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
 name = "vec_map"
diff --git a/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json b/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json
index 4c7e145..fb27d6d 100644
--- a/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json
+++ b/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json
@@ -1,5 +1,5 @@
 {
-  "checksum": "746574dd60cef41f95be67cc408ac93637dea1f729ae7f1d2450cbfc0dff4a8b",
+  "checksum": "34ed22e2224c17d6e0c0e7500b5dd2e76ebe63514609f98ec17e4c8d5543307c",
   "crates": {
     "ansi_term 0.12.1": {
       "name": "ansi_term",
@@ -15,12 +15,9 @@
           "Library": {
             "crate_name": "ansi_term",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -59,12 +56,9 @@
           "Library": {
             "crate_name": "atty",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -84,7 +78,7 @@
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
@@ -115,12 +109,9 @@
           "Library": {
             "crate_name": "bitflags",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -129,9 +120,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "1.3.2"
       },
@@ -151,12 +145,9 @@
           "Library": {
             "crate_name": "cfg_if",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -184,12 +175,9 @@
           "Library": {
             "crate_name": "clap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -198,15 +186,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "ansi_term",
-          "atty",
-          "color",
-          "default",
-          "strsim",
-          "suggestions",
-          "vec_map"
-        ],
+        "crate_features": {
+          "common": [
+            "ansi_term",
+            "atty",
+            "color",
+            "default",
+            "strsim",
+            "suggestions",
+            "vec_map"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -226,7 +217,7 @@
               "target": "textwrap"
             },
             {
-              "id": "unicode-width 0.1.9",
+              "id": "unicode-width 0.1.10",
               "target": "unicode_width"
             },
             {
@@ -248,34 +239,6 @@
       },
       "license": "MIT"
     },
-    "direct-cargo-bazel-deps 0.0.1": {
-      "name": "direct-cargo-bazel-deps",
-      "version": "0.0.1",
-      "repository": null,
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "direct_cargo_bazel_deps",
-            "crate_root": ".direct_cargo_bazel_deps.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "direct_cargo_bazel_deps",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "version": "0.0.1"
-      },
-      "license": null
-    },
     "ferris-says 0.2.1": {
       "name": "ferris-says",
       "version": "0.2.1",
@@ -290,12 +253,9 @@
           "Library": {
             "crate_name": "ferris_says",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -315,7 +275,7 @@
               "target": "textwrap"
             },
             {
-              "id": "unicode-width 0.1.9",
+              "id": "unicode-width 0.1.10",
               "target": "unicode_width"
             }
           ],
@@ -340,24 +300,18 @@
           "Library": {
             "crate_name": "getrandom",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -366,9 +320,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -389,7 +346,7 @@
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ]
@@ -419,12 +376,9 @@
           "Library": {
             "crate_name": "hermit_abi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -433,13 +387,10 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             }
           ],
@@ -450,13 +401,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "libc 0.2.126": {
+    "libc 0.2.139": {
       "name": "libc",
-      "version": "0.2.126",
+      "version": "0.2.139",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/libc/0.2.126/download",
-          "sha256": "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+          "url": "https://crates.io/api/v1/crates/libc/0.2.139/download",
+          "sha256": "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
         }
       },
       "targets": [
@@ -464,24 +415,18 @@
           "Library": {
             "crate_name": "libc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -493,14 +438,14 @@
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "0.2.126"
+        "version": "0.2.139"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -513,20 +458,7 @@
       "name": "num_printer",
       "version": "0.1.0",
       "repository": null,
-      "targets": [
-        {
-          "Binary": {
-            "crate_name": "number-printer",
-            "crate_root": "src/main.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
+      "targets": [],
       "library_target_name": null,
       "common_attrs": {
         "compile_data_glob": [
@@ -546,13 +478,13 @@
       },
       "license": null
     },
-    "ppv-lite86 0.2.16": {
+    "ppv-lite86 0.2.17": {
       "name": "ppv-lite86",
-      "version": "0.2.16",
+      "version": "0.2.17",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/ppv-lite86/0.2.16/download",
-          "sha256": "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+          "url": "https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download",
+          "sha256": "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
         }
       },
       "targets": [
@@ -560,12 +492,9 @@
           "Library": {
             "crate_name": "ppv_lite86",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -574,12 +503,15 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "simd",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "simd",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.2.16"
+        "version": "0.2.17"
       },
       "license": "MIT/Apache-2.0"
     },
@@ -592,12 +524,9 @@
           "Library": {
             "crate_name": "printer",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -634,12 +563,9 @@
           "Library": {
             "crate_name": "rand",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -648,14 +574,17 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "getrandom",
-          "getrandom_package",
-          "libc",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "getrandom",
+            "getrandom_package",
+            "libc",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -683,7 +612,7 @@
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ]
@@ -708,12 +637,9 @@
           "Library": {
             "crate_name": "rand_chacha",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -722,13 +648,16 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "ppv-lite86 0.2.16",
+              "id": "ppv-lite86 0.2.17",
               "target": "ppv_lite86"
             },
             {
@@ -757,12 +686,9 @@
           "Library": {
             "crate_name": "rand_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -771,11 +697,14 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "getrandom",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "getrandom",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -804,12 +733,9 @@
           "Library": {
             "crate_name": "rand_hc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -841,12 +767,9 @@
           "Library": {
             "crate_name": "rng",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -883,12 +806,9 @@
           "Library": {
             "crate_name": "smallvec",
             "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -897,10 +817,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2015",
         "version": "0.4.5"
       },
@@ -920,12 +843,9 @@
           "Library": {
             "crate_name": "smawk",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -953,12 +873,9 @@
           "Library": {
             "crate_name": "strsim",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -986,12 +903,9 @@
           "Library": {
             "crate_name": "textwrap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1003,7 +917,7 @@
         "deps": {
           "common": [
             {
-              "id": "unicode-width 0.1.9",
+              "id": "unicode-width 0.1.10",
               "target": "unicode_width"
             }
           ],
@@ -1028,12 +942,9 @@
           "Library": {
             "crate_name": "textwrap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1042,11 +953,14 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "smawk",
-          "unicode-width"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "smawk",
+            "unicode-width"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1054,7 +968,7 @@
               "target": "smawk"
             },
             {
-              "id": "unicode-width 0.1.9",
+              "id": "unicode-width 0.1.10",
               "target": "unicode_width"
             }
           ],
@@ -1065,13 +979,13 @@
       },
       "license": "MIT"
     },
-    "unicode-width 0.1.9": {
+    "unicode-width 0.1.10": {
       "name": "unicode-width",
-      "version": "0.1.9",
+      "version": "0.1.10",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/unicode-width/0.1.9/download",
-          "sha256": "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+          "url": "https://crates.io/api/v1/crates/unicode-width/0.1.10/download",
+          "sha256": "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
         }
       },
       "targets": [
@@ -1079,12 +993,9 @@
           "Library": {
             "crate_name": "unicode_width",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1093,11 +1004,14 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "edition": "2015",
-        "version": "0.1.9"
+        "version": "0.1.10"
       },
       "license": "MIT/Apache-2.0"
     },
@@ -1115,12 +1029,9 @@
           "Library": {
             "crate_name": "vec_map",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1148,12 +1059,9 @@
           "Library": {
             "crate_name": "wasi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1162,10 +1070,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "0.9.0+wasi-snapshot-preview1"
       },
@@ -1185,24 +1096,18 @@
           "Library": {
             "crate_name": "winapi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1211,16 +1116,19 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "consoleapi",
-          "errhandlingapi",
-          "fileapi",
-          "handleapi",
-          "minwinbase",
-          "minwindef",
-          "processenv",
-          "winbase"
-        ],
+        "crate_features": {
+          "common": [
+            "consoleapi",
+            "errhandlingapi",
+            "fileapi",
+            "handleapi",
+            "minwinbase",
+            "minwindef",
+            "processenv",
+            "winbase"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1267,24 +1175,18 @@
           "Library": {
             "crate_name": "winapi_i686_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1326,24 +1228,18 @@
           "Library": {
             "crate_name": "winapi_x86_64_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1374,7 +1270,6 @@
   },
   "binary_crates": [],
   "workspace_members": {
-    "direct-cargo-bazel-deps 0.0.1": "cargo_workspace",
     "num_printer 0.1.0": "cargo_workspace/num_printer",
     "printer 0.1.0": "cargo_workspace/printer",
     "rng 0.1.0": "cargo_workspace/rng"
@@ -1384,7 +1279,9 @@
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
       "armv7-linux-androideabi",
@@ -1396,20 +1293,26 @@
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
       "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
       "wasm32-unknown-unknown",
       "wasm32-wasi",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-pc-windows-msvc",
       "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
     ],
     "cfg(not(windows))": [
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -1421,14 +1324,19 @@
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
       "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
       "wasm32-unknown-unknown",
       "wasm32-wasi",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
     ],
     "cfg(target_os = \"emscripten\")": [],
     "cfg(target_os = \"hermit\")": [],
@@ -1436,6 +1344,7 @@
       "wasm32-wasi"
     ],
     "cfg(target_os = \"windows\")": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
@@ -1443,6 +1352,7 @@
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -1456,11 +1366,13 @@
       "s390x-unknown-linux-gnu",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
       "x86_64-unknown-linux-gnu"
     ],
     "cfg(windows)": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
diff --git a/examples/crate_universe/cargo_workspace/printer/src/lib.rs b/examples/crate_universe/cargo_workspace/printer/src/lib.rs
index 8828dc3..df75c34 100644
--- a/examples/crate_universe/cargo_workspace/printer/src/lib.rs
+++ b/examples/crate_universe/cargo_workspace/printer/src/lib.rs
@@ -2,7 +2,7 @@
 
 /// Have ferris say a number
 pub fn say_number(num: i32) -> String {
-    let number = format!("{}", num);
+    let number = format!("{num}");
     let buf = Vec::new();
     let mut writer = BufWriter::new(buf);
     ferris_says::say(number.as_bytes(), number.len(), &mut writer).unwrap();
diff --git a/examples/crate_universe/multi_package/.bazelrc b/examples/crate_universe/multi_package/.bazelrc
index d63c809..5c479fa 100644
--- a/examples/crate_universe/multi_package/.bazelrc
+++ b/examples/crate_universe/multi_package/.bazelrc
@@ -1,5 +1,10 @@
 # A config file containing Bazel settings
 
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
 # Enable rustfmt
 build:strict --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
 build:strict --output_groups=+rustfmt_checks
diff --git a/examples/crate_universe/multi_package/3rdparty/BUILD.bazel b/examples/crate_universe/multi_package/3rdparty/BUILD.bazel
index 77a676d..e69de29 100644
--- a/examples/crate_universe/multi_package/3rdparty/BUILD.bazel
+++ b/examples/crate_universe/multi_package/3rdparty/BUILD.bazel
@@ -1,4 +0,0 @@
-exports_files(
-    glob(["*.bazel"]),
-    visibility = ["//visibility:public"],
-)
diff --git a/examples/crate_universe/multi_package/3rdparty/BUILD.curl.bazel b/examples/crate_universe/multi_package/3rdparty/BUILD.curl.bazel
index 0337de2..a9d333e 100644
--- a/examples/crate_universe/multi_package/3rdparty/BUILD.curl.bazel
+++ b/examples/crate_universe/multi_package/3rdparty/BUILD.curl.bazel
@@ -1,56 +1,225 @@
-load("@rules_foreign_cc//foreign_cc:defs.bzl", "cmake")
+# This content is inspired by https://github.com/open-telemetry/opentelemetry-cpp/blob/v1.8.2/bazel/curl.BUILD
 
-filegroup(
-    name = "all_srcs",
-    srcs = glob(["**"]),
-)
+load("@rules_cc//cc:defs.bzl", "cc_library")
 
-_CACHE_ENTRIES = {
-    "BUILD_CURL_EXE": "off",
-    "BUILD_SHARED_LIBS": "off",
-    "CMAKE_BUILD_TYPE": "RELEASE",
-    "CMAKE_PREFIX_PATH": "$$EXT_BUILD_DEPS$$/openssl",
-    "CMAKE_USE_OPENSSL": "on",
-    # TODO: ldap should likely be enabled
-    "CURL_DISABLE_LDAP": "on",
-    "OPENSSL_ROOT_DIR": "$$EXT_BUILD_DEPS$$/openssl",
-}
+BASE_CURL_COPTS = [
+    # Disable everything else except HTTP protocol.
+    "-DHTTP_ONLY=1",
+    "-DENABLE_IPV6=1",
+    "-DGETHOSTNAME_TYPE_ARG2=size_t",
+    "-DGETSERVBYPORT_R_ARGS=6",
+    "-DGETSERVBYPORT_R_BUFSIZE=4096",
+    "-DHAVE_ALARM=1",
+    "-DHAVE_ALLOCA_H=1",
+    "-DHAVE_ARPA_INET_H=1",
+    "-DHAVE_ARPA_TFTP_H=1",
+    "-DHAVE_ASSERT_H=1",
+    "-DHAVE_BASENAME=1",
+    "-DHAVE_BOOL_T=1",
+    "-DHAVE_CLOCK_GETTIME_MONOTONIC=1",
+    "-DHAVE_CONNECT=1",
+    "-DHAVE_DLFCN_H=1",
+    "-DHAVE_ENGINE_LOAD_BUILTIN_ENGINES=1",
+    "-DHAVE_ERRNO_H=1",
+    "-DHAVE_FCNTL=1",
+    "-DHAVE_FCNTL_H=1",
+    "-DHAVE_FCNTL_O_NONBLOCK=1",
+    "-DHAVE_FDOPEN=1",
+    "-DHAVE_FREEADDRINFO=1",
+    "-DHAVE_FREEIFADDRS=1",
+    "-DHAVE_FSETXATTR=1",
+    "-DHAVE_FSETXATTR_5=1",
+    "-DHAVE_FTRUNCATE=1",
+    "-DHAVE_GAI_STRERROR=1",
+    "-DHAVE_GETADDRINFO=1",
+    "-DHAVE_GETADDRINFO_THREADSAFE=1",
+    "-DHAVE_GETEUID=1",
+    "-DHAVE_GETHOSTBYADDR=1",
+    "-DHAVE_GETHOSTBYADDR_R=1",
+    "-DHAVE_GETHOSTBYADDR_R_8=1",
+    "-DHAVE_GETHOSTBYNAME=1",
+    "-DHAVE_GETHOSTBYNAME_R=1",
+    "-DHAVE_GETHOSTBYNAME_R_6=1",
+    "-DHAVE_GETHOSTNAME=1",
+    "-DHAVE_GETIFADDRS=1",
+    "-DHAVE_GETNAMEINFO=1",
+    "-DHAVE_GETPPID=1",
+    "-DHAVE_GETPWUID=1",
+    "-DHAVE_GETPWUID_R=1",
+    "-DHAVE_GETRLIMIT=1",
+    "-DHAVE_GETSERVBYPORT_R=1",
+    "-DHAVE_GETTIMEOFDAY=1",
+    "-DHAVE_GMTIME_R=1",
+    "-DHAVE_IFADDRS_H=1",
+    "-DHAVE_IF_NAMETOINDEX=1",
+    "-DHAVE_INET_NTOP=1",
+    "-DHAVE_INET_PTON=1",
+    "-DHAVE_INTTYPES_H=1",
+    "-DHAVE_IOCTL=1",
+    "-DHAVE_IOCTL_FIONBIO=1",
+    "-DHAVE_IOCTL_SIOCGIFADDR=1",
+    "-DHAVE_LIBGEN_H=1",
+    "-DHAVE_LL=1",
+    "-DHAVE_LOCALE_H=1",
+    "-DHAVE_LOCALTIME_R=1",
+    "-DHAVE_LONGLONG=1",
+    "-DHAVE_MALLOC_H=1",
+    "-DHAVE_MEMORY_H=1",
+    "-DHAVE_NETDB_H=1",
+    "-DHAVE_NETINET_IN_H=1",
+    "-DHAVE_NETINET_TCP_H=1",
+    "-DHAVE_NET_IF_H=1",
+    "-DHAVE_PIPE=1",
+    "-DHAVE_POLL=1",
+    "-DHAVE_POLL_FINE=1",
+    "-DHAVE_POLL_H=1",
+    "-DHAVE_POSIX_STRERROR_R=1",
+    "-DHAVE_PTHREAD_H=1",
+    "-DHAVE_PWD_H=1",
+    "-DHAVE_RECV=1",
+    "-DHAVE_SELECT=1",
+    "-DHAVE_SEND=1",
+    "-DHAVE_SETJMP_H=1",
+    "-DHAVE_SETLOCALE=1",
+    "-DHAVE_SETRLIMIT=1",
+    "-DHAVE_SETSOCKOPT=1",
+    "-DHAVE_SGTTY_H=1",
+    "-DHAVE_SIGACTION=1",
+    "-DHAVE_SIGINTERRUPT=1",
+    "-DHAVE_SIGNAL=1",
+    "-DHAVE_SIGNAL_H=1",
+    "-DHAVE_SIGSETJMP=1",
+    "-DHAVE_SIG_ATOMIC_T=1",
+    "-DHAVE_SOCKADDR_IN6_SIN6_SCOPE_ID=1",
+    "-DHAVE_SOCKET=1",
+    "-DHAVE_SOCKETPAIR=1",
+    "-DHAVE_STDBOOL_H=1",
+    "-DHAVE_STDINT_H=1",
+    "-DHAVE_STDIO_H=1",
+    "-DHAVE_STDLIB_H=1",
+    "-DHAVE_STRCASECMP=1",
+    "-DHAVE_STRDUP=1",
+    "-DHAVE_STRERROR_R=1",
+    "-DHAVE_STRINGS_H=1",
+    "-DHAVE_STRING_H=1",
+    "-DHAVE_STRNCASECMP=1",
+    "-DHAVE_STRSTR=1",
+    "-DHAVE_STRTOK_R=1",
+    "-DHAVE_STRTOLL=1",
+    "-DHAVE_STRUCT_SOCKADDR_STORAGE=1",
+    "-DHAVE_STRUCT_TIMEVAL=1",
+    "-DHAVE_SYS_IOCTL_H=1",
+    "-DHAVE_SYS_PARAM_H=1",
+    "-DHAVE_SYS_POLL_H=1",
+    "-DHAVE_SYS_RESOURCE_H=1",
+    "-DHAVE_SYS_SELECT_H=1",
+    "-DHAVE_SYS_SOCKET_H=1",
+    "-DHAVE_SYS_STAT_H=1",
+    "-DHAVE_SYS_TIME_H=1",
+    "-DHAVE_SYS_TYPES_H=1",
+    "-DHAVE_SYS_UIO_H=1",
+    "-DHAVE_SYS_UN_H=1",
+    "-DHAVE_SYS_WAIT_H=1",
+    "-DHAVE_SYS_XATTR_H=1",
+    "-DHAVE_TERMIOS_H=1",
+    "-DHAVE_TERMIO_H=1",
+    "-DHAVE_TIME_H=1",
+    "-DHAVE_UNISTD_H=1",
+    "-DHAVE_UTIME=1",
+    "-DHAVE_UTIMES=1",
+    "-DHAVE_UTIME_H=1",
+    "-DHAVE_VARIADIC_MACROS_C99=1",
+    "-DHAVE_VARIADIC_MACROS_GCC=1",
+    "-DHAVE_WRITABLE_ARGV=1",
+    "-DHAVE_WRITEV=1",
+    "-DRECV_TYPE_ARG1=int",
+    "-DRECV_TYPE_ARG2=void*",
+    "-DRECV_TYPE_ARG3=size_t",
+    "-DRECV_TYPE_ARG4=int",
+    "-DRECV_TYPE_RETV=ssize_t",
+    "-DRETSIGTYPE=void",
+    "-DSELECT_QUAL_ARG5=",
+    "-DSELECT_TYPE_ARG1=int",
+    "-DSELECT_TYPE_ARG234=fd_set*",
+    "-DSELECT_TYPE_RETV=int",
+    "-DSEND_QUAL_ARG2=const",
+    "-DSEND_TYPE_ARG1=int",
+    "-DSEND_TYPE_ARG2=void*",
+    "-DSEND_TYPE_ARG3=size_t",
+    "-DSEND_TYPE_ARG4=int",
+    "-DSEND_TYPE_RETV=ssize_t",
+    "-DSIZEOF_CURL_OFF_T=8",
+    "-DSIZEOF_INT=4",
+    "-DSIZEOF_LONG=8",
+    "-DSIZEOF_OFF_T=8",
+    "-DSIZEOF_SHORT=2",
+    "-DSIZEOF_SIZE_T=8",
+    "-DSIZEOF_TIME_T=8",
+    "-DSTDC_HEADERS=1",
+    "-DSTRERROR_R_TYPE_ARG3=size_t",
+    "-DTIME_WITH_SYS_TIME=1",
+    "-DUSE_THREADS_POSIX=1",
+    "-DUSE_UNIX_SOCKETS=1",
 
-_MACOS_CACHE_ENTRIES = dict(_CACHE_ENTRIES.items() + {
-    "CMAKE_AR": "",
-    "CMAKE_C_ARCHIVE_CREATE": "",
-}.items())
+    # Extra defines needed by curl
+    "-DBUILDING_LIBCURL",
+    "-DCURL_HIDDEN_SYMBOLS",
+]
 
-_LINUX_CACHE_ENTRIES = dict(_CACHE_ENTRIES.items() + {
-    "CMAKE_C_FLAGS": "-fPIC",
-}.items())
+CURL_COPTS = select({
+    "@platforms//os:macos": BASE_CURL_COPTS,
+    "@platforms//os:windows": [
+        # Disable everything else except HTTP protocol.
+        "/DHTTP_ONLY=1",
+        "/DCURL_STATICLIB",
+        "/DWIN32",
+        "/DBUILDING_LIBCURL",
+        "/DUSE_WIN32_IDN",
+        "/DWANT_IDN_PROTOTYPES",
+        "/DUSE_IPV6",
+        "/DUSE_WINDOWS_SSPI",
+        "/DUSE_SCHANNEL",
+    ],
+    "//conditions:default": BASE_CURL_COPTS + [
+        "-DHAVE_LINUX_TCP_H=1",
+        "-DHAVE_MSG_NOSIGNAL=1",
+    ],
+})
 
-cmake(
+cc_library(
     name = "curl",
-    cache_entries = select({
-        "@platforms//os:linux": _LINUX_CACHE_ENTRIES,
-        "@platforms//os:macos": _MACOS_CACHE_ENTRIES,
-        "//conditions:default": _CACHE_ENTRIES,
-    }),
-    generate_args = select({
-        "@platforms//os:windows": ["-GNinja"],
-        "//conditions:default": [],
-    }),
-    generate_crosstool_file = False,
-    lib_source = ":all_srcs",
+    srcs = glob([
+        "lib/**/*.c",
+    ]),
+    hdrs = glob([
+        "include/curl/*.h",
+    ]),
+    copts = CURL_COPTS + [
+        "-DOS=\\\"os\\\"",
+    ],
+    defines = ["CURL_STATICLIB"],
+    includes = [
+        "include/",
+        "lib/",
+    ],
     linkopts = select({
-        "@platforms//os:linux": [
+        "@platforms//os:macos": [
+            "-framework SystemConfiguration",
+            "-framework CoreFoundation",
             "-lpthread",
         ],
-        "//conditions:default": [],
+        "@platforms//os:windows": [
+            "-DEFAULTLIB:ws2_32.lib",
+            "-DEFAULTLIB:advapi32.lib",
+            "-DEFAULTLIB:crypt32.lib",
+            "-DEFAULTLIB:Normaliz.lib",
+        ],
+        "//conditions:default": [
+            "-lpthread",
+        ],
     }),
-    out_static_libs = select({
-        "@platforms//os:windows": ["libcurl.lib"],
-        "//conditions:default": ["libcurl.a"],
-    }),
+    textual_hdrs = glob([
+        "lib/**/*.h",
+    ]),
     visibility = ["//visibility:public"],
-    deps = [
-        "@openssl",
-        "@zlib",
-    ],
 )
diff --git a/examples/crate_universe/multi_package/3rdparty/BUILD.libssh2.bazel b/examples/crate_universe/multi_package/3rdparty/BUILD.libssh2.bazel
deleted file mode 100644
index a1baada..0000000
--- a/examples/crate_universe/multi_package/3rdparty/BUILD.libssh2.bazel
+++ /dev/null
@@ -1,34 +0,0 @@
-load("@rules_foreign_cc//foreign_cc:defs.bzl", "cmake")
-
-filegroup(
-    name = "all_srcs",
-    srcs = glob(["**"]),
-)
-
-_CACHE_ENTRIES = {
-    "BUILD_EXAMPLES": "off",
-    "BUILD_SHARED_LIBS": "off",
-    "BUILD_TESTING": "off",
-    "CMAKE_FIND_DEBUG_MODE": "on",
-    "CMAKE_PREFIX_PATH": "${CMAKE_PREFIX_PATH:-};$EXT_BUILD_DEPS/openssl",
-}
-
-_LINUX_CACHE_ENTRIES = dict(_CACHE_ENTRIES.items() + {
-    "CMAKE_C_FLAGS": "${CMAKE_C_FLAGS:-} -fPIC",
-}.items())
-
-cmake(
-    name = "libssh2",
-    cache_entries = select({
-        "@platforms//os:linux": _LINUX_CACHE_ENTRIES,
-        "//conditions:default": _CACHE_ENTRIES,
-    }),
-    lib_source = ":all_srcs",
-    out_static_libs = select({
-        # TODO: I'm guessing at this name. Needs to be checked on windows.
-        "@platforms//os:windows": ["libssh2.lib"],
-        "//conditions:default": ["libssh2.a"],
-    }),
-    visibility = ["//visibility:public"],
-    deps = ["@openssl"],
-)
diff --git a/examples/crate_universe/multi_package/3rdparty/BUILD.nasm.bazel b/examples/crate_universe/multi_package/3rdparty/BUILD.nasm.bazel
deleted file mode 100644
index cf9586b..0000000
--- a/examples/crate_universe/multi_package/3rdparty/BUILD.nasm.bazel
+++ /dev/null
@@ -1,14 +0,0 @@
-load("@bazel_skylib//rules:select_file.bzl", "select_file")
-
-package(default_visibility = ["//visibility:public"])
-
-filegroup(
-    name = "all_srcs",
-    srcs = glob(["**"]),
-)
-
-select_file(
-    name = "nasm",
-    srcs = ":all_srcs",
-    subpath = "nasm.exe",
-)
diff --git a/examples/crate_universe/multi_package/3rdparty/BUILD.openssl.bazel b/examples/crate_universe/multi_package/3rdparty/BUILD.openssl.bazel
deleted file mode 100644
index 19d0a8c..0000000
--- a/examples/crate_universe/multi_package/3rdparty/BUILD.openssl.bazel
+++ /dev/null
@@ -1,107 +0,0 @@
-"""An openssl build file based on a snippet found in the github issue:
-https://github.com/bazelbuild/rules_foreign_cc/issues/337
-"""
-
-load("@rules_foreign_cc//foreign_cc:defs.bzl", "configure_make", "configure_make_variant")
-
-# Read https://wiki.openssl.org/index.php/Compilation_and_Installation
-
-filegroup(
-    name = "all_srcs",
-    srcs = glob(["**"]),
-)
-
-CONFIGURE_OPTIONS = [
-    "no-comp",
-    "no-idea",
-    "no-weak-ssl-ciphers",
-    "no-shared",
-]
-
-LIB_NAME = "openssl"
-
-MAKE_TARGETS = [
-    "build_libs",
-    "install_dev",
-]
-
-config_setting(
-    name = "msvc_compiler",
-    flag_values = {
-        "@bazel_tools//tools/cpp:compiler": "msvc-cl",
-    },
-    visibility = ["//visibility:public"],
-)
-
-alias(
-    name = "openssl",
-    actual = select({
-        ":msvc_compiler": "openssl_msvc",
-        "//conditions:default": "openssl_default",
-    }),
-    visibility = ["//visibility:public"],
-)
-
-configure_make_variant(
-    name = "openssl_msvc",
-    build_data = [
-        "@nasm//:nasm",
-        "@perl//:perl",
-    ],
-    configure_command = "Configure",
-    configure_in_place = True,
-    configure_options = CONFIGURE_OPTIONS + [
-        "VC-WIN64A",
-        # Unset Microsoft Assembler (MASM) flags set by built-in MSVC toolchain,
-        # as NASM is unsed to build OpenSSL rather than MASM
-        "ASFLAGS=\" \"",
-    ],
-    configure_prefix = "$PERL",
-    env = {
-        # The Zi flag must be set otherwise OpenSSL fails to build due to missing .pdb files
-        "CFLAGS": "-Zi",
-        "PATH": "$$(dirname $(execpath @nasm//:nasm)):$$PATH",
-        "PERL": "$(execpath @perl//:perl)",
-    },
-    lib_name = LIB_NAME,
-    lib_source = ":all_srcs",
-    out_static_libs = [
-        "libssl.lib",
-        "libcrypto.lib",
-    ],
-    targets = MAKE_TARGETS,
-    toolchain = "@rules_foreign_cc//toolchains:preinstalled_nmake_toolchain",
-)
-
-configure_make(
-    name = "openssl_default",
-    configure_command = "config",
-    configure_in_place = True,
-    configure_options = CONFIGURE_OPTIONS,
-    env = select({
-        "@platforms//os:macos": {
-            "AR": "",
-            "PERL": "$$EXT_BUILD_ROOT$$/$(PERL)",
-        },
-        "//conditions:default": {
-            "PERL": "$$EXT_BUILD_ROOT$$/$(PERL)",
-        },
-    }),
-    lib_name = LIB_NAME,
-    lib_source = ":all_srcs",
-    # Note that for Linux builds, libssl must come before libcrypto on the linker command-line.
-    # As such, libssl must be listed before libcrypto
-    out_static_libs = [
-        "libssl.a",
-        "libcrypto.a",
-    ],
-    targets = MAKE_TARGETS,
-    toolchains = ["@rules_perl//:current_toolchain"],
-)
-
-filegroup(
-    name = "gen_dir",
-    srcs = [":openssl"],
-    output_group = "gen_dir",
-    visibility = ["//visibility:public"],
-)
diff --git a/examples/crate_universe/multi_package/3rdparty/BUILD.perl.bazel b/examples/crate_universe/multi_package/3rdparty/BUILD.perl.bazel
deleted file mode 100644
index 8d7bbe2..0000000
--- a/examples/crate_universe/multi_package/3rdparty/BUILD.perl.bazel
+++ /dev/null
@@ -1,14 +0,0 @@
-load("@bazel_skylib//rules:select_file.bzl", "select_file")
-
-package(default_visibility = ["//visibility:public"])
-
-filegroup(
-    name = "all_srcs",
-    srcs = glob(["**"]),
-)
-
-select_file(
-    name = "perl",
-    srcs = ":all_srcs",
-    subpath = "perl/bin/perl.exe",
-)
diff --git a/examples/crate_universe/multi_package/3rdparty/third_party_deps.bzl b/examples/crate_universe/multi_package/3rdparty/third_party_deps.bzl
index fbbf70d..ac29c7b 100644
--- a/examples/crate_universe/multi_package/3rdparty/third_party_deps.bzl
+++ b/examples/crate_universe/multi_package/3rdparty/third_party_deps.bzl
@@ -1,85 +1,20 @@
-"""A helper module for loading 3rd party dependencies
-The sources here originate from: https://github.com/bazelbuild/rules_foreign_cc/tree/0.6.0/examples/third_party/openssl
+"""A helper module for loading 3rd party dependencies of
+the "multi package" Crate Universe examples.
 """
 
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
 
-def third_party_deps(prefix = ""):
-    """Definitions for 3rd party dependencies
-
-    Args:
-        prefix (str, optional): An optional prefix for all dependencies
-    """
+def third_party_deps(prefix):
     maybe(
         http_archive,
-        name = (prefix + "__" + "openssl").lstrip("_"),
-        build_file = Label("//multi_package/3rdparty:BUILD.openssl.bazel"),
-        sha256 = "892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5",
-        strip_prefix = "openssl-1.1.1k",
-        urls = [
-            "https://mirror.bazel.build/www.openssl.org/source/openssl-1.1.1k.tar.gz",
-            "https://www.openssl.org/source/openssl-1.1.1k.tar.gz",
-            "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1k.tar.gz",
-        ],
-    )
-
-    maybe(
-        http_archive,
-        name = (prefix + "__" + "nasm").lstrip("_"),
-        build_file = Label("//multi_package/3rdparty:BUILD.nasm.bazel"),
-        sha256 = "f5c93c146f52b4f1664fa3ce6579f961a910e869ab0dae431bd871bdd2584ef2",
-        strip_prefix = "nasm-2.15.05",
-        urls = [
-            "https://mirror.bazel.build/www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-win64.zip",
-            "https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-win64.zip",
-        ],
-    )
-
-    maybe(
-        http_archive,
-        name = (prefix + "__" + "perl").lstrip("_"),
-        build_file = Label("//multi_package/3rdparty:BUILD.perl.bazel"),
-        sha256 = "aeb973da474f14210d3e1a1f942dcf779e2ae7e71e4c535e6c53ebabe632cc98",
-        urls = [
-            "https://mirror.bazel.build/strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip",
-            "https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip",
-        ],
-    )
-
-    maybe(
-        http_archive,
-        name = (prefix + "__" + "curl").lstrip("_"),
+        name = "{}__curl".format(prefix),
         build_file = Label("//multi_package/3rdparty:BUILD.curl.bazel"),
-        sha256 = "e56b3921eeb7a2951959c02db0912b5fcd5fdba5aca071da819e1accf338bbd7",
-        strip_prefix = "curl-7.74.0",
+        sha256 = "cdb38b72e36bc5d33d5b8810f8018ece1baa29a8f215b4495e495ded82bbf3c7",
+        strip_prefix = "curl-7.88.1",
         type = "tar.gz",
         urls = [
-            "https://curl.se/download/curl-7.74.0.tar.gz",
-            "https://github.com/curl/curl/releases/download/curl-7_74_0/curl-7.74.0.tar.gz",
-        ],
-    )
-
-    maybe(
-        http_archive,
-        name = (prefix + "__" + "zlib").lstrip("_"),
-        build_file = Label("//crate_universe/3rdparty:BUILD.zlib.bazel"),
-        sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
-        strip_prefix = "zlib-1.2.11",
-        urls = [
-            "https://zlib.net/zlib-1.2.11.tar.gz",
-            "https://storage.googleapis.com/mirror.tensorflow.org/zlib.net/zlib-1.2.11.tar.gz",
-        ],
-    )
-
-    maybe(
-        http_archive,
-        name = (prefix + "__" + "libssh2").lstrip("_"),
-        build_file = Label("//multi_package/3rdparty:BUILD.libssh2.bazel"),
-        sha256 = "d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd",
-        strip_prefix = "libssh2-1.9.0",
-        type = "tar.gz",
-        urls = [
-            "https://github.com/libssh2/libssh2/releases/download/libssh2-1.9.0/libssh2-1.9.0.tar.gz",
+            "https://curl.se/download/curl-7.88.1.tar.gz",
+            "https://github.com/curl/curl/releases/download/curl-7_88_1/curl-7.88.1.tar.gz",
         ],
     )
diff --git a/examples/crate_universe/multi_package/Cargo.Bazel.lock b/examples/crate_universe/multi_package/Cargo.Bazel.lock
index ef75482..655a16b 100644
--- a/examples/crate_universe/multi_package/Cargo.Bazel.lock
+++ b/examples/crate_universe/multi_package/Cargo.Bazel.lock
@@ -4,27 +4,18 @@
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "0.7.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.58"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704"
-
-[[package]]
-name = "ascii-canvas"
-version = "3.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6"
-dependencies = [
- "term",
-]
+checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
 
 [[package]]
 name = "assert-json-diff"
@@ -38,9 +29,9 @@
 
 [[package]]
 name = "async-channel"
-version = "1.6.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
+checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
 dependencies = [
  "concurrent-queue",
  "event-listener",
@@ -49,23 +40,23 @@
 
 [[package]]
 name = "async-executor"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
+checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b"
 dependencies = [
+ "async-lock",
  "async-task",
  "concurrent-queue",
  "fastrand",
  "futures-lite",
- "once_cell",
  "slab",
 ]
 
 [[package]]
 name = "async-global-executor"
-version = "2.2.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5262ed948da60dd8956c6c5aca4d4163593dddb7b32d73267c93dab7b2e98940"
+checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
 dependencies = [
  "async-channel",
  "async-executor",
@@ -73,34 +64,34 @@
  "async-lock",
  "blocking",
  "futures-lite",
- "num_cpus",
  "once_cell",
 ]
 
 [[package]]
 name = "async-io"
-version = "1.7.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5e18f61464ae81cde0a23e713ae8fd299580c54d697a35820cfd0625b8b0e07"
+checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794"
 dependencies = [
+ "async-lock",
+ "autocfg",
  "concurrent-queue",
  "futures-lite",
  "libc",
  "log",
- "once_cell",
  "parking",
  "polling",
  "slab",
  "socket2",
  "waker-fn",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
 name = "async-lock"
-version = "2.5.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6"
+checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
 dependencies = [
  "event-listener",
 ]
@@ -116,19 +107,20 @@
 
 [[package]]
 name = "async-process"
-version = "1.4.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf2c06e30a24e8c78a3987d07f0930edf76ef35e027e7bdb063fccafdad1f60c"
+checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4"
 dependencies = [
  "async-io",
+ "async-lock",
+ "autocfg",
  "blocking",
  "cfg-if",
  "event-listener",
  "futures-lite",
  "libc",
- "once_cell",
  "signal-hook",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -160,15 +152,15 @@
 
 [[package]]
 name = "async-task"
-version = "4.2.0"
+version = "4.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
+checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
 
 [[package]]
 name = "async-trait"
-version = "0.1.56"
+version = "0.1.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716"
+checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -177,20 +169,9 @@
 
 [[package]]
 name = "atomic-waker"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
-]
+checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599"
 
 [[package]]
 name = "autocfg"
@@ -200,41 +181,15 @@
 
 [[package]]
 name = "base64"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
-name = "basic-cookies"
-version = "0.1.4"
+name = "base64"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb53b6b315f924c7f113b162e53b3901c05fc9966baf84d201dfcc7432a4bb38"
-dependencies = [
- "lalrpop",
- "lalrpop-util",
- "regex",
-]
-
-[[package]]
-name = "bit-set"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
-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 = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
 
 [[package]]
 name = "block-buffer"
@@ -247,47 +202,44 @@
 
 [[package]]
 name = "blocking"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
+checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8"
 dependencies = [
  "async-channel",
+ "async-lock",
  "async-task",
  "atomic-waker",
  "fastrand",
  "futures-lite",
- "once_cell",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.10.0"
+version = "3.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
-
-[[package]]
-name = "cache-padded"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "castaway"
-version = "0.1.2"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
+checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
+dependencies = [
+ "rustversion",
+]
 
 [[package]]
 name = "cc"
-version = "1.0.73"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
 
 [[package]]
 name = "cfg-if"
@@ -297,50 +249,27 @@
 
 [[package]]
 name = "concurrent-queue"
-version = "1.2.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
+checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e"
 dependencies = [
- "cache-padded",
+ "crossbeam-utils",
 ]
 
 [[package]]
-name = "core-foundation"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
-
-[[package]]
 name = "crossbeam-utils"
-version = "0.8.10"
+version = "0.8.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
 dependencies = [
  "cfg-if",
- "once_cell",
 ]
 
 [[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
-[[package]]
 name = "ctor"
-version = "0.1.22"
+version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
 dependencies = [
  "quote",
  "syn",
@@ -348,14 +277,12 @@
 
 [[package]]
 name = "curl"
-version = "0.4.43"
+version = "0.4.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37d855aeef205b43f65a5001e0997d81f8efca7badad4fad7d897aa7f0d0651f"
+checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
 dependencies = [
  "curl-sys",
  "libc",
- "openssl-probe",
- "openssl-sys",
  "schannel",
  "socket2",
  "winapi",
@@ -363,27 +290,21 @@
 
 [[package]]
 name = "curl-sys"
-version = "0.4.55+curl-7.83.1"
+version = "0.4.60+curl-7.88.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23734ec77368ec583c2e61dd3f0b0e5c98b93abe6d2a004ca06b91dd7e3e2762"
+checksum = "717abe2cb465a5da6ce06617388a3980c9a2844196734bec8ccb8e575250f13f"
 dependencies = [
  "cc",
  "libc",
  "libnghttp2-sys",
  "libz-sys",
- "openssl-sys",
  "pkg-config",
+ "rustls-ffi",
  "vcpkg",
  "winapi",
 ]
 
 [[package]]
-name = "diff"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
-
-[[package]]
 name = "digest"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -393,126 +314,64 @@
 ]
 
 [[package]]
-name = "direct-cargo-bazel-deps"
-version = "0.0.1"
-
-[[package]]
-name = "dirs-next"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
-dependencies = [
- "cfg-if",
- "dirs-sys-next",
-]
-
-[[package]]
-name = "dirs-sys-next"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
-[[package]]
-name = "either"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
-
-[[package]]
-name = "ena"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3"
-dependencies = [
- "log",
-]
-
-[[package]]
 name = "encoding_rs"
-version = "0.8.31"
+version = "0.8.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "event-listener"
-version = "2.5.2"
+version = "2.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "fastrand"
-version = "1.7.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
 dependencies = [
  "instant",
 ]
 
 [[package]]
-name = "fixedbitset"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
-
-[[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.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
 dependencies = [
- "matches",
  "percent-encoding",
 ]
 
 [[package]]
 name = "futures-channel"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
 dependencies = [
  "futures-core",
 ]
 
 [[package]]
 name = "futures-core"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
 
 [[package]]
 name = "futures-io"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
+checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
 
 [[package]]
 name = "futures-lite"
@@ -531,9 +390,9 @@
 
 [[package]]
 name = "futures-macro"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
+checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -542,21 +401,21 @@
 
 [[package]]
 name = "futures-sink"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
 
 [[package]]
 name = "futures-task"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
 
 [[package]]
 name = "futures-util"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
 dependencies = [
  "futures-core",
  "futures-io",
@@ -570,30 +429,19 @@
 
 [[package]]
 name = "generic-array"
-version = "0.14.5"
+version = "0.14.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
 dependencies = [
  "typenum",
  "version_check",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
 name = "gloo-timers"
-version = "0.2.4"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9"
+checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -603,9 +451,9 @@
 
 [[package]]
 name = "h2"
-version = "0.3.13"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
+checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
 dependencies = [
  "bytes",
  "fnv",
@@ -622,15 +470,15 @@
 
 [[package]]
 name = "hashbrown"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
 dependencies = [
  "libc",
 ]
@@ -643,9 +491,9 @@
 
 [[package]]
 name = "http"
-version = "0.2.8"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
 dependencies = [
  "bytes",
  "fnv",
@@ -665,9 +513,9 @@
 
 [[package]]
 name = "httparse"
-version = "1.7.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
@@ -677,15 +525,13 @@
 
 [[package]]
 name = "httpmock"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c159c4fc205e6c1a9b325cb7ec135d13b5f47188ce175dabb76ec847f331d9bd"
+version = "0.6.7"
+source = "git+https://github.com/alexliesenfeld/httpmock.git?rev=9ecf35255ee154986bc36d06473f1fa088586ad9#9ecf35255ee154986bc36d06473f1fa088586ad9"
 dependencies = [
  "assert-json-diff",
  "async-object-pool",
  "async-trait",
- "base64",
- "basic-cookies",
+ "base64 0.13.1",
  "crossbeam-utils",
  "form_urlencoded",
  "futures-util",
@@ -705,9 +551,9 @@
 
 [[package]]
 name = "hyper"
-version = "0.14.19"
+version = "0.14.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f"
+checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -728,34 +574,33 @@
 ]
 
 [[package]]
-name = "hyper-tls"
-version = "0.5.0"
+name = "hyper-rustls"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
 dependencies = [
- "bytes",
+ "http",
  "hyper",
- "native-tls",
+ "rustls",
  "tokio",
- "tokio-native-tls",
+ "tokio-rustls",
 ]
 
 [[package]]
 name = "idna"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "indexmap"
-version = "1.9.1"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
 dependencies = [
  "autocfg",
  "hashbrown",
@@ -772,15 +617,14 @@
 
 [[package]]
 name = "ipnet"
-version = "2.5.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b"
+checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
 
 [[package]]
 name = "isahc"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
+version = "1.7.0"
+source = "git+https://github.com/sagebind/isahc.git?rev=096aff7b13f4ff5bb474fdc27bc30b297a2968f6#096aff7b13f4ff5bb474fdc27bc30b297a2968f6"
 dependencies = [
  "async-channel",
  "castaway",
@@ -789,13 +633,15 @@
  "curl-sys",
  "encoding_rs",
  "event-listener",
+ "futures-io",
  "futures-lite",
  "http",
  "log",
  "mime",
  "once_cell",
  "polling",
- "slab",
+ "serde",
+ "serde_json",
  "sluice",
  "tracing",
  "tracing-futures",
@@ -804,25 +650,16 @@
 ]
 
 [[package]]
-name = "itertools"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
-dependencies = [
- "either",
-]
-
-[[package]]
 name = "itoa"
-version = "1.0.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
 
 [[package]]
 name = "js-sys"
-version = "0.3.58"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -837,38 +674,6 @@
 ]
 
 [[package]]
-name = "lalrpop"
-version = "0.19.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30455341b0e18f276fa64540aff54deafb54c589de6aca68659c63dd2d5d823"
-dependencies = [
- "ascii-canvas",
- "atty",
- "bit-set",
- "diff",
- "ena",
- "itertools",
- "lalrpop-util",
- "petgraph",
- "pico-args",
- "regex",
- "regex-syntax",
- "string_cache",
- "term",
- "tiny-keccak",
- "unicode-xid",
-]
-
-[[package]]
-name = "lalrpop-util"
-version = "0.19.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf796c978e9b4d983414f4caedc9273aa33ee214c5b887bd55fde84c85d2dc4"
-dependencies = [
- "regex",
-]
-
-[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -882,9 +687,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.126"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "libnghttp2-sys"
@@ -909,16 +714,6 @@
 ]
 
 [[package]]
-name = "lock_api"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
 name = "log"
 version = "0.4.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -929,12 +724,6 @@
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
-[[package]]
 name = "md-5"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -959,55 +748,52 @@
 
 [[package]]
 name = "mio"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
 dependencies = [
  "libc",
  "log",
  "wasi",
- "windows-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
-name = "native-tls"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9"
-dependencies = [
- "lazy_static",
- "libc",
- "log",
- "openssl",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "security-framework",
- "security-framework-sys",
- "tempfile",
-]
-
-[[package]]
-name = "new_debug_unreachable"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-
-[[package]]
 name = "num_cpus"
-version = "1.13.1"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
  "hermit-abi",
  "libc",
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.13.0"
+name = "num_enum"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
 
 [[package]]
 name = "opaque-debug"
@@ -1016,124 +802,31 @@
 checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
-name = "openssl"
-version = "0.10.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb81a6430ac911acb25fe5ac8f1d2af1b4ea8a4fdfda0f1ee4292af2e2d8eb0e"
-dependencies = [
- "bitflags",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
-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.74"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "835363342df5fba8354c5b453325b110ffd54044e588c539cf2f20a8014e4cb1"
-dependencies = [
- "autocfg",
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
 name = "parking"
 version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
 
 [[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-sys",
-]
-
-[[package]]
 name = "percent-encoding"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
-[[package]]
-name = "petgraph"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143"
-dependencies = [
- "fixedbitset",
- "indexmap",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "pico-args"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
 name = "pin-project"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260"
+checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74"
+checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1154,9 +847,9 @@
 
 [[package]]
 name = "pkg-config"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
 
 [[package]]
 name = "pkg_a"
@@ -1171,7 +864,8 @@
 name = "pkg_b"
 version = "0.1.0"
 dependencies = [
- "openssl",
+ "rustls",
+ "rustls-pemfile 1.0.2",
 ]
 
 [[package]]
@@ -1184,66 +878,51 @@
 
 [[package]]
 name = "polling"
-version = "2.2.0"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
+checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6"
 dependencies = [
+ "autocfg",
  "cfg-if",
  "libc",
  "log",
  "wepoll-ffi",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "precomputed-hash"
-version = "0.1.1"
+name = "proc-macro-crate"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit",
+]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.40"
+version = "1.0.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.20"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
-name = "redox_syscall"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_users"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
-dependencies = [
- "getrandom",
- "redox_syscall",
- "thiserror",
-]
-
-[[package]]
 name = "regex"
-version = "1.6.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1252,26 +931,17 @@
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.27"
+version = "0.6.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi",
-]
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
 
 [[package]]
 name = "reqwest"
-version = "0.11.11"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92"
+checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
 dependencies = [
- "base64",
+ "base64 0.21.0",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -1280,93 +950,135 @@
  "http",
  "http-body",
  "hyper",
- "hyper-tls",
+ "hyper-rustls",
  "ipnet",
  "js-sys",
- "lazy_static",
  "log",
  "mime",
- "native-tls",
+ "once_cell",
  "percent-encoding",
  "pin-project-lite",
+ "rustls",
+ "rustls-pemfile 1.0.2",
  "serde",
  "serde_json",
  "serde_urlencoded",
  "tokio",
- "tokio-native-tls",
+ "tokio-rustls",
  "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
+ "webpki-roots",
  "winreg",
 ]
 
 [[package]]
-name = "rustversion"
-version = "1.0.7"
+name = "ring"
+version = "0.16.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0a5f7c728f5d284929a1cccb5bc19884422bfe6ef4d6c409da2c41838983fcf"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-ffi"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9da52707cca59e6eef8a78f3ad8d04024254a168ed1b41eb4dfa9616eace781a"
+dependencies = [
+ "libc",
+ "log",
+ "num_enum",
+ "rustls",
+ "rustls-pemfile 0.2.1",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9"
+dependencies = [
+ "base64 0.13.1",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+dependencies = [
+ "base64 0.21.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
 
 [[package]]
 name = "ryu"
-version = "1.0.10"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
 
 [[package]]
 name = "schannel"
-version = "0.1.20"
+version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
 dependencies = [
- "lazy_static",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "scopeguard"
-version = "1.1.0"
+name = "sct"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "security-framework"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
 dependencies = [
- "bitflags",
- "core-foundation",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
-]
-
-[[package]]
-name = "security-framework-sys"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
-dependencies = [
- "core-foundation-sys",
- "libc",
+ "ring",
+ "untrusted",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.138"
+version = "1.0.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.138"
+version = "1.0.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "023e9b1467aef8a10fb88f25611870ada9800ef7e22afce356bb0d2387b6f27c"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1375,9 +1087,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.82"
+version = "1.0.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
+checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
 dependencies = [
  "itoa",
  "ryu",
@@ -1408,9 +1120,9 @@
 
 [[package]]
 name = "signal-hook"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d"
+checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -1418,30 +1130,27 @@
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "similar"
-version = "2.1.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3"
-
-[[package]]
-name = "siphasher"
-version = "0.3.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
 
 [[package]]
 name = "slab"
-version = "0.4.6"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+dependencies = [
+ "autocfg",
+]
 
 [[package]]
 name = "sluice"
@@ -1455,39 +1164,26 @@
 ]
 
 [[package]]
-name = "smallvec"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
-
-[[package]]
 name = "socket2"
-version = "0.4.4"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
 dependencies = [
  "libc",
  "winapi",
 ]
 
 [[package]]
-name = "string_cache"
-version = "0.8.4"
+name = "spin"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08"
-dependencies = [
- "new_debug_unreachable",
- "once_cell",
- "parking_lot",
- "phf_shared",
- "precomputed-hash",
-]
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
 
 [[package]]
 name = "syn"
-version = "1.0.98"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1495,60 +1191,6 @@
 ]
 
 [[package]]
-name = "tempfile"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
-dependencies = [
- "cfg-if",
- "fastrand",
- "libc",
- "redox_syscall",
- "remove_dir_all",
- "winapi",
-]
-
-[[package]]
-name = "term"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
-dependencies = [
- "dirs-next",
- "rustversion",
- "winapi",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tiny-keccak"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
-dependencies = [
- "crunchy",
-]
-
-[[package]]
 name = "tinyvec"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1559,34 +1201,34 @@
 
 [[package]]
 name = "tinyvec_macros"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.19.2"
+version = "1.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
 dependencies = [
+ "autocfg",
  "bytes",
  "libc",
  "memchr",
  "mio",
  "num_cpus",
- "once_cell",
  "pin-project-lite",
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
- "winapi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "1.8.0"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1594,20 +1236,21 @@
 ]
 
 [[package]]
-name = "tokio-native-tls"
-version = "0.3.0"
+name = "tokio-rustls"
+version = "0.23.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
+checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
 dependencies = [
- "native-tls",
+ "rustls",
  "tokio",
+ "webpki",
 ]
 
 [[package]]
 name = "tokio-util"
-version = "0.7.3"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
+checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
 dependencies = [
  "bytes",
  "futures-core",
@@ -1618,6 +1261,23 @@
 ]
 
 [[package]]
+name = "toml_datetime"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+
+[[package]]
+name = "toml_edit"
+version = "0.19.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
 name = "tower-service"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1625,9 +1285,9 @@
 
 [[package]]
 name = "tracing"
-version = "0.1.35"
+version = "0.1.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
 dependencies = [
  "cfg-if",
  "log",
@@ -1638,9 +1298,9 @@
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1649,9 +1309,9 @@
 
 [[package]]
 name = "tracing-core"
-version = "0.1.28"
+version = "0.1.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
 dependencies = [
  "once_cell",
 ]
@@ -1668,52 +1328,51 @@
 
 [[package]]
 name = "try-lock"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "typenum"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.8"
+version = "0.3.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.21"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
-name = "unicode-xid"
-version = "0.2.3"
+name = "untrusted"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
 
 [[package]]
 name = "url"
-version = "2.2.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
 dependencies = [
  "form_urlencoded",
  "idna",
- "matches",
  "percent-encoding",
 ]
 
@@ -1763,9 +1422,9 @@
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.81"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -1773,13 +1432,13 @@
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.81"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
 dependencies = [
  "bumpalo",
- "lazy_static",
  "log",
+ "once_cell",
  "proc-macro2",
  "quote",
  "syn",
@@ -1788,9 +1447,9 @@
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.31"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de9a9cec1733468a8c657e57fa2413d2ae2c0129b95e87c5b72b8ace4d13f31f"
+checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -1800,9 +1459,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.81"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1810,9 +1469,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.81"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1823,21 +1482,40 @@
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.81"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
 
 [[package]]
 name = "web-sys"
-version = "0.3.58"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
 ]
 
 [[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.22.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
+dependencies = [
+ "webpki",
+]
+
+[[package]]
 name = "wepoll-ffi"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1870,46 +1548,93 @@
 
 [[package]]
 name = "windows-sys"
-version = "0.36.1"
+version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
 dependencies = [
+ "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
  "windows_i686_gnu",
  "windows_i686_msvc",
  "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
  "windows_x86_64_msvc",
 ]
 
 [[package]]
-name = "windows_aarch64_msvc"
-version = "0.36.1"
+name = "windows-sys"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+
+[[package]]
+name = "winnow"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf09497b8f8b5ac5d3bb4d05c0a99be20f26fd3d5f2db7b0716e946d5103658"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
 name = "winreg"
diff --git a/examples/crate_universe/multi_package/cargo-bazel-lock.json b/examples/crate_universe/multi_package/cargo-bazel-lock.json
index 2f3eb5c..c66b4ed 100644
--- a/examples/crate_universe/multi_package/cargo-bazel-lock.json
+++ b/examples/crate_universe/multi_package/cargo-bazel-lock.json
@@ -1,13 +1,13 @@
 {
-  "checksum": "fa8d2ec1c932effeab92d593fcf5e2294469a693cf931fe7166c6bdf4373c713",
+  "checksum": "98fee2030d35caae97320432fe79f7be705fa919b68082452b6d6ae21ea24d65",
   "crates": {
-    "aho-corasick 0.7.18": {
+    "aho-corasick 0.7.20": {
       "name": "aho-corasick",
-      "version": "0.7.18",
+      "version": "0.7.20",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/aho-corasick/0.7.18/download",
-          "sha256": "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+          "url": "https://crates.io/api/v1/crates/aho-corasick/0.7.20/download",
+          "sha256": "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
         }
       },
       "targets": [
@@ -15,12 +15,9 @@
           "Library": {
             "crate_name": "aho_corasick",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -29,10 +26,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -43,17 +43,17 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.7.18"
+        "version": "0.7.20"
       },
-      "license": "Unlicense/MIT"
+      "license": "Unlicense OR MIT"
     },
-    "anyhow 1.0.58": {
+    "anyhow 1.0.69": {
       "name": "anyhow",
-      "version": "1.0.58",
+      "version": "1.0.69",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/anyhow/1.0.58/download",
-          "sha256": "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704"
+          "url": "https://crates.io/api/v1/crates/anyhow/1.0.69/download",
+          "sha256": "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
         }
       },
       "targets": [
@@ -61,24 +61,18 @@
           "Library": {
             "crate_name": "anyhow",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -87,21 +81,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "anyhow 1.0.58",
+              "id": "anyhow 1.0.69",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.58"
+        "version": "1.0.69"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -110,48 +107,6 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "ascii-canvas 3.0.0": {
-      "name": "ascii-canvas",
-      "version": "3.0.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/ascii-canvas/3.0.0/download",
-          "sha256": "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "ascii_canvas",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "ascii_canvas",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "term 0.7.0",
-              "target": "term"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "3.0.0"
-      },
-      "license": "Apache-2.0/MIT"
-    },
     "assert-json-diff 2.0.2": {
       "name": "assert-json-diff",
       "version": "2.0.2",
@@ -166,12 +121,9 @@
           "Library": {
             "crate_name": "assert_json_diff",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -183,11 +135,11 @@
         "deps": {
           "common": [
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             },
             {
-              "id": "serde_json 1.0.82",
+              "id": "serde_json 1.0.93",
               "target": "serde_json"
             }
           ],
@@ -198,13 +150,13 @@
       },
       "license": "MIT"
     },
-    "async-channel 1.6.1": {
+    "async-channel 1.8.0": {
       "name": "async-channel",
-      "version": "1.6.1",
+      "version": "1.8.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-channel/1.6.1/download",
-          "sha256": "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
+          "url": "https://crates.io/api/v1/crates/async-channel/1.8.0/download",
+          "sha256": "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
         }
       },
       "targets": [
@@ -212,12 +164,9 @@
           "Library": {
             "crate_name": "async_channel",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -229,32 +178,32 @@
         "deps": {
           "common": [
             {
-              "id": "concurrent-queue 1.2.2",
+              "id": "concurrent-queue 2.1.0",
               "target": "concurrent_queue"
             },
             {
-              "id": "event-listener 2.5.2",
+              "id": "event-listener 2.5.3",
               "target": "event_listener"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.6.1"
+        "version": "1.8.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "async-executor 1.4.1": {
+    "async-executor 1.5.0": {
       "name": "async-executor",
-      "version": "1.4.1",
+      "version": "1.5.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-executor/1.4.1/download",
-          "sha256": "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
+          "url": "https://crates.io/api/v1/crates/async-executor/1.5.0/download",
+          "sha256": "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b"
         }
       },
       "targets": [
@@ -262,12 +211,9 @@
           "Library": {
             "crate_name": "async_executor",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -279,15 +225,19 @@
         "deps": {
           "common": [
             {
-              "id": "async-task 4.2.0",
+              "id": "async-lock 2.7.0",
+              "target": "async_lock"
+            },
+            {
+              "id": "async-task 4.3.0",
               "target": "async_task"
             },
             {
-              "id": "concurrent-queue 1.2.2",
+              "id": "concurrent-queue 2.1.0",
               "target": "concurrent_queue"
             },
             {
-              "id": "fastrand 1.7.0",
+              "id": "fastrand 1.9.0",
               "target": "fastrand"
             },
             {
@@ -295,28 +245,24 @@
               "target": "futures_lite"
             },
             {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
-            },
-            {
-              "id": "slab 0.4.6",
+              "id": "slab 0.4.8",
               "target": "slab"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.4.1"
+        "version": "1.5.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "async-global-executor 2.2.0": {
+    "async-global-executor 2.3.1": {
       "name": "async-global-executor",
-      "version": "2.2.0",
+      "version": "2.3.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-global-executor/2.2.0/download",
-          "sha256": "5262ed948da60dd8956c6c5aca4d4163593dddb7b32d73267c93dab7b2e98940"
+          "url": "https://crates.io/api/v1/crates/async-global-executor/2.3.1/download",
+          "sha256": "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
         }
       },
       "targets": [
@@ -324,12 +270,9 @@
           "Library": {
             "crate_name": "async_global_executor",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -338,30 +281,33 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "async-io",
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "async-io",
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "async-channel 1.6.1",
+              "id": "async-channel 1.8.0",
               "target": "async_channel"
             },
             {
-              "id": "async-executor 1.4.1",
+              "id": "async-executor 1.5.0",
               "target": "async_executor"
             },
             {
-              "id": "async-io 1.7.0",
+              "id": "async-io 1.12.0",
               "target": "async_io"
             },
             {
-              "id": "async-lock 2.5.0",
+              "id": "async-lock 2.7.0",
               "target": "async_lock"
             },
             {
-              "id": "blocking 1.2.0",
+              "id": "blocking 1.3.0",
               "target": "blocking"
             },
             {
@@ -369,28 +315,24 @@
               "target": "futures_lite"
             },
             {
-              "id": "num_cpus 1.13.1",
-              "target": "num_cpus"
-            },
-            {
-              "id": "once_cell 1.13.0",
+              "id": "once_cell 1.17.1",
               "target": "once_cell"
             }
           ],
           "selects": {}
         },
-        "edition": "2018",
-        "version": "2.2.0"
+        "edition": "2021",
+        "version": "2.3.1"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "async-io 1.7.0": {
+    "async-io 1.12.0": {
       "name": "async-io",
-      "version": "1.7.0",
+      "version": "1.12.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-io/1.7.0/download",
-          "sha256": "e5e18f61464ae81cde0a23e713ae8fd299580c54d697a35820cfd0625b8b0e07"
+          "url": "https://crates.io/api/v1/crates/async-io/1.12.0/download",
+          "sha256": "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794"
         }
       },
       "targets": [
@@ -398,12 +340,18 @@
           "Library": {
             "crate_name": "async_io",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -415,7 +363,15 @@
         "deps": {
           "common": [
             {
-              "id": "concurrent-queue 1.2.2",
+              "id": "async-io 1.12.0",
+              "target": "build_script_build"
+            },
+            {
+              "id": "async-lock 2.7.0",
+              "target": "async_lock"
+            },
+            {
+              "id": "concurrent-queue 2.1.0",
               "target": "concurrent_queue"
             },
             {
@@ -427,23 +383,19 @@
               "target": "log"
             },
             {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
-            },
-            {
               "id": "parking 2.0.0",
               "target": "parking"
             },
             {
-              "id": "polling 2.2.0",
+              "id": "polling 2.5.2",
               "target": "polling"
             },
             {
-              "id": "slab 0.4.6",
+              "id": "slab 0.4.8",
               "target": "slab"
             },
             {
-              "id": "socket2 0.4.4",
+              "id": "socket2 0.4.9",
               "target": "socket2"
             },
             {
@@ -454,30 +406,44 @@
           "selects": {
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
             "cfg(windows)": [
               {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
+                "id": "windows-sys 0.42.0",
+                "target": "windows_sys"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "1.7.0"
+        "version": "1.12.0"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "async-lock 2.5.0": {
+    "async-lock 2.7.0": {
       "name": "async-lock",
-      "version": "2.5.0",
+      "version": "2.7.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-lock/2.5.0/download",
-          "sha256": "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6"
+          "url": "https://crates.io/api/v1/crates/async-lock/2.7.0/download",
+          "sha256": "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
         }
       },
       "targets": [
@@ -485,12 +451,9 @@
           "Library": {
             "crate_name": "async_lock",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -502,14 +465,14 @@
         "deps": {
           "common": [
             {
-              "id": "event-listener 2.5.2",
+              "id": "event-listener 2.5.3",
               "target": "event_listener"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "2.5.0"
+        "version": "2.7.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
@@ -527,12 +490,9 @@
           "Library": {
             "crate_name": "async_object_pool",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -555,13 +515,13 @@
       },
       "license": "MIT"
     },
-    "async-process 1.4.0": {
+    "async-process 1.6.0": {
       "name": "async-process",
-      "version": "1.4.0",
+      "version": "1.6.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-process/1.4.0/download",
-          "sha256": "cf2c06e30a24e8c78a3987d07f0930edf76ef35e027e7bdb063fccafdad1f60c"
+          "url": "https://crates.io/api/v1/crates/async-process/1.6.0/download",
+          "sha256": "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4"
         }
       },
       "targets": [
@@ -569,12 +529,18 @@
           "Library": {
             "crate_name": "async_process",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -586,51 +552,69 @@
         "deps": {
           "common": [
             {
+              "id": "async-lock 2.7.0",
+              "target": "async_lock"
+            },
+            {
+              "id": "async-process 1.6.0",
+              "target": "build_script_build"
+            },
+            {
               "id": "cfg-if 1.0.0",
               "target": "cfg_if"
             },
             {
-              "id": "event-listener 2.5.2",
+              "id": "event-listener 2.5.3",
               "target": "event_listener"
             },
             {
               "id": "futures-lite 1.12.0",
               "target": "futures_lite"
-            },
-            {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
             }
           ],
           "selects": {
             "cfg(unix)": [
               {
-                "id": "async-io 1.7.0",
+                "id": "async-io 1.12.0",
                 "target": "async_io"
               },
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               },
               {
-                "id": "signal-hook 0.3.14",
+                "id": "signal-hook 0.3.15",
                 "target": "signal_hook"
               }
             ],
             "cfg(windows)": [
               {
-                "id": "blocking 1.2.0",
+                "id": "blocking 1.3.0",
                 "target": "blocking"
               },
               {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
+                "id": "windows-sys 0.42.0",
+                "target": "windows_sys"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "1.4.0"
+        "version": "1.6.0"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
       },
       "license": "Apache-2.0 OR MIT"
     },
@@ -648,12 +632,9 @@
           "Library": {
             "crate_name": "async_std",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -662,51 +643,54 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "async-channel",
-          "async-global-executor",
-          "async-io",
-          "async-lock",
-          "async-process",
-          "crossbeam-utils",
-          "default",
-          "futures-channel",
-          "futures-core",
-          "futures-io",
-          "futures-lite",
-          "gloo-timers",
-          "kv-log-macro",
-          "log",
-          "memchr",
-          "once_cell",
-          "pin-project-lite",
-          "pin-utils",
-          "slab",
-          "std",
-          "unstable",
-          "wasm-bindgen-futures"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "async-channel",
+            "async-global-executor",
+            "async-io",
+            "async-lock",
+            "async-process",
+            "crossbeam-utils",
+            "default",
+            "futures-channel",
+            "futures-core",
+            "futures-io",
+            "futures-lite",
+            "gloo-timers",
+            "kv-log-macro",
+            "log",
+            "memchr",
+            "once_cell",
+            "pin-project-lite",
+            "pin-utils",
+            "slab",
+            "std",
+            "unstable",
+            "wasm-bindgen-futures"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "async-channel 1.6.1",
+              "id": "async-channel 1.8.0",
               "target": "async_channel"
             },
             {
-              "id": "async-lock 2.5.0",
+              "id": "async-lock 2.7.0",
               "target": "async_lock"
             },
             {
-              "id": "crossbeam-utils 0.8.10",
+              "id": "crossbeam-utils 0.8.15",
               "target": "crossbeam_utils"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-io 0.3.21",
+              "id": "futures-io 0.3.26",
               "target": "futures_io"
             },
             {
@@ -722,7 +706,7 @@
               "target": "memchr"
             },
             {
-              "id": "once_cell 1.13.0",
+              "id": "once_cell 1.17.1",
               "target": "once_cell"
             },
             {
@@ -734,22 +718,22 @@
               "target": "pin_utils"
             },
             {
-              "id": "slab 0.4.6",
+              "id": "slab 0.4.8",
               "target": "slab"
             }
           ],
           "selects": {
             "cfg(not(target_os = \"unknown\"))": [
               {
-                "id": "async-global-executor 2.2.0",
+                "id": "async-global-executor 2.3.1",
                 "target": "async_global_executor"
               },
               {
-                "id": "async-io 1.7.0",
+                "id": "async-io 1.12.0",
                 "target": "async_io"
               },
               {
-                "id": "async-process 1.4.0",
+                "id": "async-process 1.6.0",
                 "target": "async_process"
               },
               {
@@ -759,15 +743,15 @@
             ],
             "cfg(target_arch = \"wasm32\")": [
               {
-                "id": "futures-channel 0.3.21",
+                "id": "futures-channel 0.3.26",
                 "target": "futures_channel"
               },
               {
-                "id": "gloo-timers 0.2.4",
+                "id": "gloo-timers 0.2.6",
                 "target": "gloo_timers"
               },
               {
-                "id": "wasm-bindgen-futures 0.4.31",
+                "id": "wasm-bindgen-futures 0.4.34",
                 "target": "wasm_bindgen_futures"
               }
             ]
@@ -778,13 +762,13 @@
       },
       "license": "Apache-2.0/MIT"
     },
-    "async-task 4.2.0": {
+    "async-task 4.3.0": {
       "name": "async-task",
-      "version": "4.2.0",
+      "version": "4.3.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-task/4.2.0/download",
-          "sha256": "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
+          "url": "https://crates.io/api/v1/crates/async-task/4.3.0/download",
+          "sha256": "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
         }
       },
       "targets": [
@@ -792,12 +776,9 @@
           "Library": {
             "crate_name": "async_task",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -806,22 +787,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "4.2.0"
+        "version": "4.3.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "async-trait 0.1.56": {
+    "async-trait 0.1.64": {
       "name": "async-trait",
-      "version": "0.1.56",
+      "version": "0.1.64",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-trait/0.1.56/download",
-          "sha256": "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716"
+          "url": "https://crates.io/api/v1/crates/async-trait/0.1.64/download",
+          "sha256": "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
         }
       },
       "targets": [
@@ -829,24 +813,18 @@
           "ProcMacro": {
             "crate_name": "async_trait",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -858,26 +836,26 @@
         "deps": {
           "common": [
             {
-              "id": "async-trait 0.1.56",
+              "id": "async-trait 0.1.64",
               "target": "build_script_build"
             },
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.56"
+        "version": "0.1.64"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -886,13 +864,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "atomic-waker 1.0.0": {
+    "atomic-waker 1.1.0": {
       "name": "atomic-waker",
-      "version": "1.0.0",
+      "version": "1.1.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/atomic-waker/1.0.0/download",
-          "sha256": "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a"
+          "url": "https://crates.io/api/v1/crates/atomic-waker/1.1.0/download",
+          "sha256": "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599"
         }
       },
       "targets": [
@@ -900,12 +878,9 @@
           "Library": {
             "crate_name": "atomic_waker",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -915,66 +890,10 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.0"
+        "version": "1.1.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "atty 0.2.14": {
-      "name": "atty",
-      "version": "0.2.14",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/atty/0.2.14/download",
-          "sha256": "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "atty",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "atty",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [],
-          "selects": {
-            "cfg(target_os = \"hermit\")": [
-              {
-                "id": "hermit-abi 0.1.19",
-                "target": "hermit_abi"
-              }
-            ],
-            "cfg(unix)": [
-              {
-                "id": "libc 0.2.126",
-                "target": "libc"
-              }
-            ],
-            "cfg(windows)": [
-              {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
-              }
-            ]
-          }
-        },
-        "edition": "2015",
-        "version": "0.2.14"
-      },
-      "license": "MIT"
-    },
     "autocfg 1.1.0": {
       "name": "autocfg",
       "version": "1.1.0",
@@ -989,12 +908,9 @@
           "Library": {
             "crate_name": "autocfg",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1008,13 +924,13 @@
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "base64 0.13.0": {
+    "base64 0.13.1": {
       "name": "base64",
-      "version": "0.13.0",
+      "version": "0.13.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/base64/0.13.0/download",
-          "sha256": "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+          "url": "https://crates.io/api/v1/crates/base64/0.13.1/download",
+          "sha256": "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
         }
       },
       "targets": [
@@ -1022,12 +938,9 @@
           "Library": {
             "crate_name": "base64",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1036,201 +949,54 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
-        "edition": "2018",
-        "version": "0.13.0"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "basic-cookies 0.1.4": {
-      "name": "basic-cookies",
-      "version": "0.1.4",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/basic-cookies/0.1.4/download",
-          "sha256": "cb53b6b315f924c7f113b162e53b3901c05fc9966baf84d201dfcc7432a4bb38"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "basic_cookies",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "basic_cookies",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
+        "crate_features": {
           "common": [
-            {
-              "id": "basic-cookies 0.1.4",
-              "target": "build_script_build"
-            },
-            {
-              "id": "lalrpop-util 0.19.8",
-              "target": "lalrpop_util"
-            },
-            {
-              "id": "regex 1.6.0",
-              "target": "regex"
-            }
+            "default",
+            "std"
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.4"
+        "version": "0.13.1"
       },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "lalrpop 0.19.8",
-              "target": "lalrpop"
-            }
-          ],
-          "selects": {}
-        }
-      },
-      "license": "MIT"
+      "license": "MIT/Apache-2.0"
     },
-    "bit-set 0.5.2": {
-      "name": "bit-set",
-      "version": "0.5.2",
+    "base64 0.21.0": {
+      "name": "base64",
+      "version": "0.21.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/bit-set/0.5.2/download",
-          "sha256": "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
+          "url": "https://crates.io/api/v1/crates/base64/0.21.0/download",
+          "sha256": "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
         }
       },
       "targets": [
         {
           "Library": {
-            "crate_name": "bit_set",
+            "crate_name": "base64",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
-      "library_target_name": "bit_set",
+      "library_target_name": "base64",
       "common_attrs": {
         "compile_data_glob": [
           "**"
         ],
-        "deps": {
+        "crate_features": {
           "common": [
-            {
-              "id": "bit-vec 0.6.3",
-              "target": "bit_vec"
-            }
+            "default",
+            "std"
           ],
           "selects": {}
         },
-        "edition": "2015",
-        "version": "0.5.2"
+        "edition": "2021",
+        "version": "0.21.0"
       },
-      "license": "MIT/Apache-2.0"
-    },
-    "bit-vec 0.6.3": {
-      "name": "bit-vec",
-      "version": "0.6.3",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/bit-vec/0.6.3/download",
-          "sha256": "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "bit_vec",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "bit_vec",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2015",
-        "version": "0.6.3"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "bitflags 1.3.2": {
-      "name": "bitflags",
-      "version": "1.3.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/bitflags/1.3.2/download",
-          "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "bitflags",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "bitflags",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default"
-        ],
-        "edition": "2018",
-        "version": "1.3.2"
-      },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
     "block-buffer 0.9.0": {
       "name": "block-buffer",
@@ -1246,12 +1012,9 @@
           "Library": {
             "crate_name": "block_buffer",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1263,7 +1026,7 @@
         "deps": {
           "common": [
             {
-              "id": "generic-array 0.14.5",
+              "id": "generic-array 0.14.6",
               "target": "generic_array"
             }
           ],
@@ -1274,13 +1037,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "blocking 1.2.0": {
+    "blocking 1.3.0": {
       "name": "blocking",
-      "version": "1.2.0",
+      "version": "1.3.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/blocking/1.2.0/download",
-          "sha256": "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
+          "url": "https://crates.io/api/v1/crates/blocking/1.3.0/download",
+          "sha256": "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8"
         }
       },
       "targets": [
@@ -1288,12 +1051,9 @@
           "Library": {
             "crate_name": "blocking",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1305,44 +1065,44 @@
         "deps": {
           "common": [
             {
-              "id": "async-channel 1.6.1",
+              "id": "async-channel 1.8.0",
               "target": "async_channel"
             },
             {
-              "id": "async-task 4.2.0",
+              "id": "async-lock 2.7.0",
+              "target": "async_lock"
+            },
+            {
+              "id": "async-task 4.3.0",
               "target": "async_task"
             },
             {
-              "id": "atomic-waker 1.0.0",
+              "id": "atomic-waker 1.1.0",
               "target": "atomic_waker"
             },
             {
-              "id": "fastrand 1.7.0",
+              "id": "fastrand 1.9.0",
               "target": "fastrand"
             },
             {
               "id": "futures-lite 1.12.0",
               "target": "futures_lite"
-            },
-            {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.2.0"
+        "version": "1.3.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "bumpalo 3.10.0": {
+    "bumpalo 3.12.0": {
       "name": "bumpalo",
-      "version": "3.10.0",
+      "version": "3.12.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/bumpalo/3.10.0/download",
-          "sha256": "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
+          "url": "https://crates.io/api/v1/crates/bumpalo/3.12.0/download",
+          "sha256": "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
         }
       },
       "targets": [
@@ -1350,12 +1110,9 @@
           "Library": {
             "crate_name": "bumpalo",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1364,21 +1121,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
-        "edition": "2018",
-        "version": "3.10.0"
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "3.12.0"
       },
       "license": "MIT/Apache-2.0"
     },
-    "bytes 1.1.0": {
+    "bytes 1.4.0": {
       "name": "bytes",
-      "version": "1.1.0",
+      "version": "1.4.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/bytes/1.1.0/download",
-          "sha256": "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+          "url": "https://crates.io/api/v1/crates/bytes/1.4.0/download",
+          "sha256": "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
         }
       },
       "targets": [
@@ -1386,12 +1146,9 @@
           "Library": {
             "crate_name": "bytes",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1400,55 +1157,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "1.1.0"
+        "version": "1.4.0"
       },
       "license": "MIT"
     },
-    "cache-padded 1.2.0": {
-      "name": "cache-padded",
-      "version": "1.2.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/cache-padded/1.2.0/download",
-          "sha256": "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "cache_padded",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "cache_padded",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "version": "1.2.0"
-      },
-      "license": "Apache-2.0 OR MIT"
-    },
-    "castaway 0.1.2": {
+    "castaway 0.2.2": {
       "name": "castaway",
-      "version": "0.1.2",
+      "version": "0.2.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/castaway/0.1.2/download",
-          "sha256": "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
+          "url": "https://crates.io/api/v1/crates/castaway/0.2.2/download",
+          "sha256": "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
         }
       },
       "targets": [
@@ -1456,12 +1183,9 @@
           "Library": {
             "crate_name": "castaway",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1470,18 +1194,34 @@
         "compile_data_glob": [
           "**"
         ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.1.2"
+        "proc_macro_deps": {
+          "common": [
+            {
+              "id": "rustversion 1.0.11",
+              "target": "rustversion"
+            }
+          ],
+          "selects": {}
+        },
+        "version": "0.2.2"
       },
       "license": "MIT"
     },
-    "cc 1.0.73": {
+    "cc 1.0.79": {
       "name": "cc",
-      "version": "1.0.73",
+      "version": "1.0.79",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/cc/1.0.73/download",
-          "sha256": "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+          "url": "https://crates.io/api/v1/crates/cc/1.0.79/download",
+          "sha256": "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
         }
       },
       "targets": [
@@ -1489,24 +1229,9 @@
           "Library": {
             "crate_name": "cc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "Binary": {
-            "crate_name": "gcc-shim",
-            "crate_root": "src/bin/gcc-shim.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1516,9 +1241,9 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.73"
+        "version": "1.0.79"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
     "cfg-if 1.0.0": {
       "name": "cfg-if",
@@ -1534,12 +1259,9 @@
           "Library": {
             "crate_name": "cfg_if",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1553,13 +1275,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "concurrent-queue 1.2.2": {
+    "concurrent-queue 2.1.0": {
       "name": "concurrent-queue",
-      "version": "1.2.2",
+      "version": "2.1.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/concurrent-queue/1.2.2/download",
-          "sha256": "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
+          "url": "https://crates.io/api/v1/crates/concurrent-queue/2.1.0/download",
+          "sha256": "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e"
         }
       },
       "targets": [
@@ -1567,12 +1289,9 @@
           "Library": {
             "crate_name": "concurrent_queue",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1581,132 +1300,34 @@
         "compile_data_glob": [
           "**"
         ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "cache-padded 1.2.0",
-              "target": "cache_padded"
+              "id": "crossbeam-utils 0.8.15",
+              "target": "crossbeam_utils"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.2.2"
+        "version": "2.1.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "core-foundation 0.9.3": {
-      "name": "core-foundation",
-      "version": "0.9.3",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/core-foundation/0.9.3/download",
-          "sha256": "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "core_foundation",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "core_foundation",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "core-foundation-sys 0.8.3",
-              "target": "core_foundation_sys"
-            },
-            {
-              "id": "libc 0.2.126",
-              "target": "libc"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2015",
-        "version": "0.9.3"
-      },
-      "license": "MIT / Apache-2.0"
-    },
-    "core-foundation-sys 0.8.3": {
-      "name": "core-foundation-sys",
-      "version": "0.8.3",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/core-foundation-sys/0.8.3/download",
-          "sha256": "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "core_foundation_sys",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "core_foundation_sys",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "core-foundation-sys 0.8.3",
-              "target": "build_script_build"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2015",
-        "version": "0.8.3"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ]
-      },
-      "license": "MIT / Apache-2.0"
-    },
-    "crossbeam-utils 0.8.10": {
+    "crossbeam-utils 0.8.15": {
       "name": "crossbeam-utils",
-      "version": "0.8.10",
+      "version": "0.8.15",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/crossbeam-utils/0.8.10/download",
-          "sha256": "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83"
+          "url": "https://crates.io/api/v1/crates/crossbeam-utils/0.8.15/download",
+          "sha256": "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
         }
       },
       "targets": [
@@ -1714,24 +1335,18 @@
           "Library": {
             "crate_name": "crossbeam_utils",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1740,11 +1355,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "once_cell",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1752,18 +1369,14 @@
               "target": "cfg_if"
             },
             {
-              "id": "crossbeam-utils 0.8.10",
+              "id": "crossbeam-utils 0.8.15",
               "target": "build_script_build"
-            },
-            {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.8.10"
+        "version": "0.8.15"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1772,76 +1385,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "crunchy 0.2.2": {
-      "name": "crunchy",
-      "version": "0.2.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/crunchy/0.2.2/download",
-          "sha256": "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "crunchy",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "crunchy",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default",
-          "limit_128"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "crunchy 0.2.2",
-              "target": "build_script_build"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2015",
-        "version": "0.2.2"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ]
-      },
-      "license": "MIT"
-    },
-    "ctor 0.1.22": {
+    "ctor 0.1.26": {
       "name": "ctor",
-      "version": "0.1.22",
+      "version": "0.1.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/ctor/0.1.22/download",
-          "sha256": "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
+          "url": "https://crates.io/api/v1/crates/ctor/0.1.26/download",
+          "sha256": "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
         }
       },
       "targets": [
@@ -1849,12 +1399,9 @@
           "ProcMacro": {
             "crate_name": "ctor",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1866,28 +1413,28 @@
         "deps": {
           "common": [
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.22"
+        "version": "0.1.26"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "curl 0.4.43": {
+    "curl 0.4.44": {
       "name": "curl",
-      "version": "0.4.43",
+      "version": "0.4.44",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/curl/0.4.43/download",
-          "sha256": "37d855aeef205b43f65a5001e0997d81f8efca7badad4fad7d897aa7f0d0651f"
+          "url": "https://crates.io/api/v1/crates/curl/0.4.44/download",
+          "sha256": "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
         }
       },
       "targets": [
@@ -1895,24 +1442,18 @@
           "Library": {
             "crate_name": "curl",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1921,47 +1462,37 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "http2",
-          "openssl-probe",
-          "openssl-sys",
-          "ssl",
-          "static-curl"
-        ],
+        "crate_features": {
+          "common": [
+            "http2",
+            "rustls",
+            "static-curl"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "curl 0.4.43",
+              "id": "curl 0.4.44",
               "target": "build_script_build"
             },
             {
-              "id": "curl-sys 0.4.55+curl-7.83.1",
+              "id": "curl-sys 0.4.60+curl-7.88.1",
               "target": "curl_sys"
             },
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             },
             {
-              "id": "socket2 0.4.4",
+              "id": "socket2 0.4.9",
               "target": "socket2"
             }
           ],
           "selects": {
-            "cfg(all(unix, not(target_os = \"macos\")))": [
-              {
-                "id": "openssl-probe 0.1.5",
-                "target": "openssl_probe"
-              },
-              {
-                "id": "openssl-sys 0.9.74",
-                "target": "openssl_sys"
-              }
-            ],
             "cfg(target_env = \"msvc\")": [
               {
-                "id": "schannel 0.1.20",
+                "id": "schannel 0.1.21",
                 "target": "schannel"
               },
               {
@@ -1972,7 +1503,7 @@
           }
         },
         "edition": "2018",
-        "version": "0.4.43"
+        "version": "0.4.44"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1981,7 +1512,7 @@
         "deps": {
           "common": [
             {
-              "id": "curl-sys 0.4.55+curl-7.83.1",
+              "id": "curl-sys 0.4.60+curl-7.88.1",
               "target": "curl_sys"
             }
           ],
@@ -1990,13 +1521,13 @@
       },
       "license": "MIT"
     },
-    "curl-sys 0.4.55+curl-7.83.1": {
+    "curl-sys 0.4.60+curl-7.88.1": {
       "name": "curl-sys",
-      "version": "0.4.55+curl-7.83.1",
+      "version": "0.4.60+curl-7.88.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/curl-sys/0.4.55+curl-7.83.1/download",
-          "sha256": "23734ec77368ec583c2e61dd3f0b0e5c98b93abe6d2a004ca06b91dd7e3e2762"
+          "url": "https://crates.io/api/v1/crates/curl-sys/0.4.60+curl-7.88.1/download",
+          "sha256": "717abe2cb465a5da6ce06617388a3980c9a2844196734bec8ccb8e575250f13f"
         }
       },
       "targets": [
@@ -2004,12 +1535,9 @@
           "Library": {
             "crate_name": "curl_sys",
             "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2018,18 +1546,20 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "http2",
-          "libnghttp2-sys",
-          "openssl-sys",
-          "ssl",
-          "static-curl"
-        ],
+        "crate_features": {
+          "common": [
+            "http2",
+            "libnghttp2-sys",
+            "rustls",
+            "rustls-ffi",
+            "static-curl"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             },
             {
@@ -2039,15 +1569,13 @@
             {
               "id": "libz-sys 1.1.8",
               "target": "libz_sys"
+            },
+            {
+              "id": "rustls-ffi 0.8.2",
+              "target": "rustls_ffi"
             }
           ],
           "selects": {
-            "cfg(all(unix, not(target_os = \"macos\")))": [
-              {
-                "id": "openssl-sys 0.9.74",
-                "target": "openssl_sys"
-              }
-            ],
             "cfg(windows)": [
               {
                 "id": "winapi 0.3.9",
@@ -2057,47 +1585,13 @@
           }
         },
         "extra_deps": [
-          "@curl",
-          "@libssh2"
+          "@m_pkgs__curl//:curl"
         ],
         "edition": "2018",
-        "version": "0.4.55+curl-7.83.1"
+        "version": "0.4.60+curl-7.88.1"
       },
       "license": "MIT"
     },
-    "diff 0.1.13": {
-      "name": "diff",
-      "version": "0.1.13",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/diff/0.1.13/download",
-          "sha256": "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "diff",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "diff",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2015",
-        "version": "0.1.13"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
     "digest 0.9.0": {
       "name": "digest",
       "version": "0.9.0",
@@ -2112,12 +1606,9 @@
           "Library": {
             "crate_name": "digest",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2126,14 +1617,17 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "generic-array 0.14.5",
+              "id": "generic-array 0.14.6",
               "target": "generic_array"
             }
           ],
@@ -2144,218 +1638,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "direct-cargo-bazel-deps 0.0.1": {
-      "name": "direct-cargo-bazel-deps",
-      "version": "0.0.1",
-      "repository": null,
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "direct_cargo_bazel_deps",
-            "crate_root": ".direct_cargo_bazel_deps.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "direct_cargo_bazel_deps",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "version": "0.0.1"
-      },
-      "license": null
-    },
-    "dirs-next 2.0.0": {
-      "name": "dirs-next",
-      "version": "2.0.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/dirs-next/2.0.0/download",
-          "sha256": "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "dirs_next",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "dirs_next",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "cfg-if 1.0.0",
-              "target": "cfg_if"
-            },
-            {
-              "id": "dirs-sys-next 0.1.2",
-              "target": "dirs_sys_next"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "2.0.0"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "dirs-sys-next 0.1.2": {
-      "name": "dirs-sys-next",
-      "version": "0.1.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download",
-          "sha256": "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "dirs_sys_next",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "dirs_sys_next",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [],
-          "selects": {
-            "cfg(target_os = \"redox\")": [
-              {
-                "id": "redox_users 0.4.3",
-                "target": "redox_users"
-              }
-            ],
-            "cfg(unix)": [
-              {
-                "id": "libc 0.2.126",
-                "target": "libc"
-              }
-            ],
-            "cfg(windows)": [
-              {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
-              }
-            ]
-          }
-        },
-        "edition": "2018",
-        "version": "0.1.2"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "either 1.7.0": {
-      "name": "either",
-      "version": "1.7.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/either/1.7.0/download",
-          "sha256": "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "either",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "either",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "version": "1.7.0"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "ena 0.14.0": {
-      "name": "ena",
-      "version": "0.14.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/ena/0.14.0/download",
-          "sha256": "d7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "ena",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "ena",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "log 0.4.17",
-              "target": "log"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2015",
-        "version": "0.14.0"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "encoding_rs 0.8.31": {
+    "encoding_rs 0.8.32": {
       "name": "encoding_rs",
-      "version": "0.8.31",
+      "version": "0.8.32",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/encoding_rs/0.8.31/download",
-          "sha256": "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+          "url": "https://crates.io/api/v1/crates/encoding_rs/0.8.32/download",
+          "sha256": "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
         }
       },
       "targets": [
@@ -2363,24 +1652,9 @@
           "Library": {
             "crate_name": "encoding_rs",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2389,40 +1663,34 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
               "id": "cfg-if 1.0.0",
               "target": "cfg_if"
-            },
-            {
-              "id": "encoding_rs 0.8.31",
-              "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.8.31"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ]
+        "version": "0.8.32"
       },
       "license": "(Apache-2.0 OR MIT) AND BSD-3-Clause"
     },
-    "event-listener 2.5.2": {
+    "event-listener 2.5.3": {
       "name": "event-listener",
-      "version": "2.5.2",
+      "version": "2.5.3",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/event-listener/2.5.2/download",
-          "sha256": "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
+          "url": "https://crates.io/api/v1/crates/event-listener/2.5.3/download",
+          "sha256": "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
         }
       },
       "targets": [
@@ -2430,12 +1698,9 @@
           "Library": {
             "crate_name": "event_listener",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2445,17 +1710,17 @@
           "**"
         ],
         "edition": "2018",
-        "version": "2.5.2"
+        "version": "2.5.3"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "fastrand 1.7.0": {
+    "fastrand 1.9.0": {
       "name": "fastrand",
-      "version": "1.7.0",
+      "version": "1.9.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/fastrand/1.7.0/download",
-          "sha256": "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+          "url": "https://crates.io/api/v1/crates/fastrand/1.9.0/download",
+          "sha256": "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
         }
       },
       "targets": [
@@ -2463,12 +1728,9 @@
           "Library": {
             "crate_name": "fastrand",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2480,7 +1742,7 @@
         "deps": {
           "common": [],
           "selects": {
-            "cfg(target_arch = \"wasm32\")": [
+            "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": [
               {
                 "id": "instant 0.1.12",
                 "target": "instant"
@@ -2489,43 +1751,10 @@
           }
         },
         "edition": "2018",
-        "version": "1.7.0"
+        "version": "1.9.0"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "fixedbitset 0.4.2": {
-      "name": "fixedbitset",
-      "version": "0.4.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/fixedbitset/0.4.2/download",
-          "sha256": "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "fixedbitset",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "fixedbitset",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2015",
-        "version": "0.4.2"
-      },
-      "license": "MIT/Apache-2.0"
-    },
     "fnv 1.0.7": {
       "name": "fnv",
       "version": "1.0.7",
@@ -2540,12 +1769,9 @@
           "Library": {
             "crate_name": "fnv",
             "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2554,97 +1780,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2015",
         "version": "1.0.7"
       },
       "license": "Apache-2.0 / MIT"
     },
-    "foreign-types 0.3.2": {
-      "name": "foreign-types",
-      "version": "0.3.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/foreign-types/0.3.2/download",
-          "sha256": "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "foreign_types",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "foreign_types",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "foreign-types-shared 0.1.1",
-              "target": "foreign_types_shared"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2015",
-        "version": "0.3.2"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "foreign-types-shared 0.1.1": {
-      "name": "foreign-types-shared",
-      "version": "0.1.1",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download",
-          "sha256": "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "foreign_types_shared",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "foreign_types_shared",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2015",
-        "version": "0.1.1"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "form_urlencoded 1.0.1": {
+    "form_urlencoded 1.1.0": {
       "name": "form_urlencoded",
-      "version": "1.0.1",
+      "version": "1.1.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download",
-          "sha256": "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+          "url": "https://crates.io/api/v1/crates/form_urlencoded/1.1.0/download",
+          "sha256": "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
         }
       },
       "targets": [
@@ -2652,12 +1806,9 @@
           "Library": {
             "crate_name": "form_urlencoded",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2669,28 +1820,24 @@
         "deps": {
           "common": [
             {
-              "id": "matches 0.1.9",
-              "target": "matches"
-            },
-            {
-              "id": "percent-encoding 2.1.0",
+              "id": "percent-encoding 2.2.0",
               "target": "percent_encoding"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.1"
+        "version": "1.1.0"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
-    "futures-channel 0.3.21": {
+    "futures-channel 0.3.26": {
       "name": "futures-channel",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-channel/0.3.21/download",
-          "sha256": "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
+          "url": "https://crates.io/api/v1/crates/futures-channel/0.3.26/download",
+          "sha256": "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
         }
       },
       "targets": [
@@ -2698,24 +1845,18 @@
           "Library": {
             "crate_name": "futures_channel",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2724,26 +1865,29 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-channel 0.3.21",
+              "id": "futures-channel 0.3.26",
               "target": "build_script_build"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2752,13 +1896,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-core 0.3.21": {
+    "futures-core 0.3.26": {
       "name": "futures-core",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-core/0.3.21/download",
-          "sha256": "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+          "url": "https://crates.io/api/v1/crates/futures-core/0.3.26/download",
+          "sha256": "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
         }
       },
       "targets": [
@@ -2766,24 +1910,18 @@
           "Library": {
             "crate_name": "futures_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2792,22 +1930,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2816,13 +1957,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-io 0.3.21": {
+    "futures-io 0.3.26": {
       "name": "futures-io",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-io/0.3.21/download",
-          "sha256": "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
+          "url": "https://crates.io/api/v1/crates/futures-io/0.3.26/download",
+          "sha256": "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
         }
       },
       "targets": [
@@ -2830,12 +1971,9 @@
           "Library": {
             "crate_name": "futures_io",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2844,12 +1982,15 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -2867,12 +2008,9 @@
           "Library": {
             "crate_name": "futures_lite",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2881,28 +2019,31 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "fastrand",
-          "futures-io",
-          "memchr",
-          "parking",
-          "std",
-          "waker-fn"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "fastrand",
+            "futures-io",
+            "memchr",
+            "parking",
+            "std",
+            "waker-fn"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "fastrand 1.7.0",
+              "id": "fastrand 1.9.0",
               "target": "fastrand"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-io 0.3.21",
+              "id": "futures-io 0.3.26",
               "target": "futures_io"
             },
             {
@@ -2929,13 +2070,13 @@
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "futures-macro 0.3.21": {
+    "futures-macro 0.3.26": {
       "name": "futures-macro",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-macro/0.3.21/download",
-          "sha256": "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
+          "url": "https://crates.io/api/v1/crates/futures-macro/0.3.26/download",
+          "sha256": "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
         }
       },
       "targets": [
@@ -2943,12 +2084,9 @@
           "ProcMacro": {
             "crate_name": "futures_macro",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2960,32 +2098,32 @@
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-sink 0.3.21": {
+    "futures-sink 0.3.26": {
       "name": "futures-sink",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-sink/0.3.21/download",
-          "sha256": "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
+          "url": "https://crates.io/api/v1/crates/futures-sink/0.3.26/download",
+          "sha256": "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
         }
       },
       "targets": [
@@ -2993,12 +2131,9 @@
           "Library": {
             "crate_name": "futures_sink",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3007,23 +2142,26 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-task 0.3.21": {
+    "futures-task 0.3.26": {
       "name": "futures-task",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-task/0.3.21/download",
-          "sha256": "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
+          "url": "https://crates.io/api/v1/crates/futures-task/0.3.26/download",
+          "sha256": "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
         }
       },
       "targets": [
@@ -3031,24 +2169,18 @@
           "Library": {
             "crate_name": "futures_task",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3057,21 +2189,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-task 0.3.21",
+              "id": "futures-task 0.3.26",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -3080,13 +2215,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-util 0.3.21": {
+    "futures-util 0.3.26": {
       "name": "futures-util",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-util/0.3.21/download",
-          "sha256": "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
+          "url": "https://crates.io/api/v1/crates/futures-util/0.3.26/download",
+          "sha256": "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
         }
       },
       "targets": [
@@ -3094,24 +2229,18 @@
           "Library": {
             "crate_name": "futures_util",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3120,34 +2249,37 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "async-await",
-          "async-await-macro",
-          "default",
-          "futures-io",
-          "futures-macro",
-          "io",
-          "memchr",
-          "slab",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "async-await",
+            "async-await-macro",
+            "default",
+            "futures-io",
+            "futures-macro",
+            "io",
+            "memchr",
+            "slab",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-io 0.3.21",
+              "id": "futures-io 0.3.26",
               "target": "futures_io"
             },
             {
-              "id": "futures-task 0.3.21",
+              "id": "futures-task 0.3.26",
               "target": "futures_task"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "build_script_build"
             },
             {
@@ -3163,7 +2295,7 @@
               "target": "pin_utils"
             },
             {
-              "id": "slab 0.4.6",
+              "id": "slab 0.4.8",
               "target": "slab"
             }
           ],
@@ -3173,13 +2305,13 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "futures-macro 0.3.21",
+              "id": "futures-macro 0.3.26",
               "target": "futures_macro"
             }
           ],
           "selects": {}
         },
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -3188,13 +2320,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "generic-array 0.14.5": {
+    "generic-array 0.14.6": {
       "name": "generic-array",
-      "version": "0.14.5",
+      "version": "0.14.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/generic-array/0.14.5/download",
-          "sha256": "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
+          "url": "https://crates.io/api/v1/crates/generic-array/0.14.6/download",
+          "sha256": "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
         }
       },
       "targets": [
@@ -3202,24 +2334,18 @@
           "Library": {
             "crate_name": "generic_array",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3231,18 +2357,18 @@
         "deps": {
           "common": [
             {
-              "id": "generic-array 0.14.5",
+              "id": "generic-array 0.14.6",
               "target": "build_script_build"
             },
             {
-              "id": "typenum 1.15.0",
+              "id": "typenum 1.16.0",
               "target": "typenum"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "0.14.5"
+        "version": "0.14.6"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -3260,71 +2386,13 @@
       },
       "license": "MIT"
     },
-    "getrandom 0.2.7": {
-      "name": "getrandom",
-      "version": "0.2.7",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/getrandom/0.2.7/download",
-          "sha256": "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "getrandom",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "getrandom",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "std"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "cfg-if 1.0.0",
-              "target": "cfg_if"
-            }
-          ],
-          "selects": {
-            "cfg(target_os = \"wasi\")": [
-              {
-                "id": "wasi 0.11.0+wasi-snapshot-preview1",
-                "target": "wasi"
-              }
-            ],
-            "cfg(unix)": [
-              {
-                "id": "libc 0.2.126",
-                "target": "libc"
-              }
-            ]
-          }
-        },
-        "edition": "2018",
-        "version": "0.2.7"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "gloo-timers 0.2.4": {
+    "gloo-timers 0.2.6": {
       "name": "gloo-timers",
-      "version": "0.2.4",
+      "version": "0.2.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/gloo-timers/0.2.4/download",
-          "sha256": "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9"
+          "url": "https://crates.io/api/v1/crates/gloo-timers/0.2.6/download",
+          "sha256": "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
         }
       },
       "targets": [
@@ -3332,12 +2400,9 @@
           "Library": {
             "crate_name": "gloo_timers",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3346,45 +2411,48 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "futures",
-          "futures-channel",
-          "futures-core"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "futures",
+            "futures-channel",
+            "futures-core"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-channel 0.3.21",
+              "id": "futures-channel 0.3.26",
               "target": "futures_channel"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "js-sys 0.3.58",
+              "id": "js-sys 0.3.61",
               "target": "js_sys"
             },
             {
-              "id": "wasm-bindgen 0.2.81",
+              "id": "wasm-bindgen 0.2.84",
               "target": "wasm_bindgen"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.4"
+        "version": "0.2.6"
       },
       "license": "MIT/Apache-2.0"
     },
-    "h2 0.3.13": {
+    "h2 0.3.16": {
       "name": "h2",
-      "version": "0.3.13",
+      "version": "0.3.16",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/h2/0.3.13/download",
-          "sha256": "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
+          "url": "https://crates.io/api/v1/crates/h2/0.3.16/download",
+          "sha256": "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
         }
       },
       "targets": [
@@ -3392,12 +2460,9 @@
           "Library": {
             "crate_name": "h2",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3409,7 +2474,7 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
@@ -3417,56 +2482,56 @@
               "target": "fnv"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-sink 0.3.21",
+              "id": "futures-sink 0.3.26",
               "target": "futures_sink"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
-              "id": "indexmap 1.9.1",
+              "id": "indexmap 1.9.2",
               "target": "indexmap"
             },
             {
-              "id": "slab 0.4.6",
+              "id": "slab 0.4.8",
               "target": "slab"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
-              "id": "tokio-util 0.7.3",
+              "id": "tokio-util 0.7.7",
               "target": "tokio_util"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.13"
+        "version": "0.3.16"
       },
       "license": "MIT"
     },
-    "hashbrown 0.12.1": {
+    "hashbrown 0.12.3": {
       "name": "hashbrown",
-      "version": "0.12.1",
+      "version": "0.12.3",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hashbrown/0.12.1/download",
-          "sha256": "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+          "url": "https://crates.io/api/v1/crates/hashbrown/0.12.3/download",
+          "sha256": "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
         }
       },
       "targets": [
@@ -3474,12 +2539,9 @@
           "Library": {
             "crate_name": "hashbrown",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3488,21 +2550,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "raw"
-        ],
+        "crate_features": {
+          "common": [
+            "raw"
+          ],
+          "selects": {}
+        },
         "edition": "2021",
-        "version": "0.12.1"
+        "version": "0.12.3"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "hermit-abi 0.1.19": {
+    "hermit-abi 0.2.6": {
       "name": "hermit-abi",
-      "version": "0.1.19",
+      "version": "0.2.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hermit-abi/0.1.19/download",
-          "sha256": "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+          "url": "https://crates.io/api/v1/crates/hermit-abi/0.2.6/download",
+          "sha256": "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
         }
       },
       "targets": [
@@ -3510,12 +2575,9 @@
           "Library": {
             "crate_name": "hermit_abi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3524,20 +2586,17 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             }
           ],
           "selects": {}
         },
-        "edition": "2018",
-        "version": "0.1.19"
+        "edition": "2021",
+        "version": "0.2.6"
       },
       "license": "MIT/Apache-2.0"
     },
@@ -3555,12 +2614,9 @@
           "ProcMacro": {
             "crate_name": "hex_literal",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3574,13 +2630,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "http 0.2.8": {
+    "http 0.2.9": {
       "name": "http",
-      "version": "0.2.8",
+      "version": "0.2.9",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/http/0.2.8/download",
-          "sha256": "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+          "url": "https://crates.io/api/v1/crates/http/0.2.9/download",
+          "sha256": "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
         }
       },
       "targets": [
@@ -3588,12 +2644,9 @@
           "Library": {
             "crate_name": "http",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3605,7 +2658,7 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
@@ -3613,14 +2666,14 @@
               "target": "fnv"
             },
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.8"
+        "version": "0.2.9"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -3638,12 +2691,9 @@
           "Library": {
             "crate_name": "http_body",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3655,11 +2705,11 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
@@ -3674,13 +2724,13 @@
       },
       "license": "MIT"
     },
-    "httparse 1.7.1": {
+    "httparse 1.8.0": {
       "name": "httparse",
-      "version": "1.7.1",
+      "version": "1.8.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/httparse/1.7.1/download",
-          "sha256": "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
+          "url": "https://crates.io/api/v1/crates/httparse/1.8.0/download",
+          "sha256": "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
         }
       },
       "targets": [
@@ -3688,24 +2738,18 @@
           "Library": {
             "crate_name": "httparse",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3714,21 +2758,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "httparse 1.7.1",
+              "id": "httparse 1.8.0",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
-        "edition": "2015",
-        "version": "1.7.1"
+        "edition": "2018",
+        "version": "1.8.0"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -3751,12 +2798,9 @@
           "Library": {
             "crate_name": "httpdate",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3770,13 +2814,16 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "httpmock 0.6.6": {
+    "httpmock 0.6.7": {
       "name": "httpmock",
-      "version": "0.6.6",
+      "version": "0.6.7",
       "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/httpmock/0.6.6/download",
-          "sha256": "c159c4fc205e6c1a9b325cb7ec135d13b5f47188ce175dabb76ec847f331d9bd"
+        "Git": {
+          "remote": "https://github.com/alexliesenfeld/httpmock.git",
+          "commitish": {
+            "Rev": "9ecf35255ee154986bc36d06473f1fa088586ad9"
+          },
+          "shallow_since": "1673473097 +0100"
         }
       },
       "targets": [
@@ -3784,24 +2831,9 @@
           "Library": {
             "crate_name": "httpmock",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "Binary": {
-            "crate_name": "httpmock",
-            "crate_root": "src/main.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3810,11 +2842,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "basic-cookies",
-          "cookies",
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "rustls"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -3826,31 +2859,27 @@
               "target": "async_object_pool"
             },
             {
-              "id": "base64 0.13.0",
+              "id": "base64 0.13.1",
               "target": "base64"
             },
             {
-              "id": "basic-cookies 0.1.4",
-              "target": "basic_cookies"
-            },
-            {
-              "id": "crossbeam-utils 0.8.10",
+              "id": "crossbeam-utils 0.8.15",
               "target": "crossbeam_utils"
             },
             {
-              "id": "form_urlencoded 1.0.1",
+              "id": "form_urlencoded 1.1.0",
               "target": "form_urlencoded"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "hyper 0.14.19",
+              "id": "hyper 0.14.24",
               "target": "hyper"
             },
             {
-              "id": "isahc 1.7.2",
+              "id": "isahc 1.7.0",
               "target": "isahc"
             },
             {
@@ -3866,15 +2895,15 @@
               "target": "log"
             },
             {
-              "id": "regex 1.6.0",
+              "id": "regex 1.7.1",
               "target": "regex"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             },
             {
-              "id": "serde_json 1.0.82",
+              "id": "serde_json 1.0.93",
               "target": "serde_json"
             },
             {
@@ -3882,15 +2911,15 @@
               "target": "serde_regex"
             },
             {
-              "id": "similar 2.1.0",
+              "id": "similar 2.2.1",
               "target": "similar"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
-              "id": "url 2.2.2",
+              "id": "url 2.3.1",
               "target": "url"
             }
           ],
@@ -3900,23 +2929,23 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "async-trait 0.1.56",
+              "id": "async-trait 0.1.64",
               "target": "async_trait"
             }
           ],
           "selects": {}
         },
-        "version": "0.6.6"
+        "version": "0.6.7"
       },
       "license": "MIT"
     },
-    "hyper 0.14.19": {
+    "hyper 0.14.24": {
       "name": "hyper",
-      "version": "0.14.19",
+      "version": "0.14.24",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hyper/0.14.19/download",
-          "sha256": "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f"
+          "url": "https://crates.io/api/v1/crates/hyper/0.14.24/download",
+          "sha256": "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
         }
       },
       "targets": [
@@ -3924,12 +2953,9 @@
           "Library": {
             "crate_name": "hyper",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3938,41 +2964,44 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "client",
-          "default",
-          "h2",
-          "http1",
-          "http2",
-          "runtime",
-          "server",
-          "socket2",
-          "tcp"
-        ],
+        "crate_features": {
+          "common": [
+            "client",
+            "default",
+            "h2",
+            "http1",
+            "http2",
+            "runtime",
+            "server",
+            "socket2",
+            "tcp"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "futures-channel 0.3.21",
+              "id": "futures-channel 0.3.26",
               "target": "futures_channel"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "h2 0.3.13",
+              "id": "h2 0.3.16",
               "target": "h2"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
@@ -3980,7 +3009,7 @@
               "target": "http_body"
             },
             {
-              "id": "httparse 1.7.1",
+              "id": "httparse 1.8.0",
               "target": "httparse"
             },
             {
@@ -3988,7 +3017,7 @@
               "target": "httpdate"
             },
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             },
             {
@@ -3996,11 +3025,11 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "socket2 0.4.4",
+              "id": "socket2 0.4.9",
               "target": "socket2"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
@@ -4008,7 +3037,7 @@
               "target": "tower_service"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             },
             {
@@ -4019,34 +3048,31 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.14.19"
+        "version": "0.14.24"
       },
       "license": "MIT"
     },
-    "hyper-tls 0.5.0": {
-      "name": "hyper-tls",
-      "version": "0.5.0",
+    "hyper-rustls 0.23.2": {
+      "name": "hyper-rustls",
+      "version": "0.23.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hyper-tls/0.5.0/download",
-          "sha256": "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+          "url": "https://crates.io/api/v1/crates/hyper-rustls/0.23.2/download",
+          "sha256": "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
         }
       },
       "targets": [
         {
           "Library": {
-            "crate_name": "hyper_tls",
+            "crate_name": "hyper_rustls",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
-      "library_target_name": "hyper_tls",
+      "library_target_name": "hyper_rustls",
       "common_attrs": {
         "compile_data_glob": [
           "**"
@@ -4054,40 +3080,40 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
-              "target": "bytes"
+              "id": "http 0.2.9",
+              "target": "http"
             },
             {
-              "id": "hyper 0.14.19",
+              "id": "hyper 0.14.24",
               "target": "hyper"
             },
             {
-              "id": "native-tls 0.2.10",
-              "target": "native_tls"
+              "id": "rustls 0.20.8",
+              "target": "rustls"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
-              "id": "tokio-native-tls 0.3.0",
-              "target": "tokio_native_tls"
+              "id": "tokio-rustls 0.23.4",
+              "target": "tokio_rustls"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.5.0"
+        "version": "0.23.2"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "Apache-2.0/ISC/MIT"
     },
-    "idna 0.2.3": {
+    "idna 0.3.0": {
       "name": "idna",
-      "version": "0.2.3",
+      "version": "0.3.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/idna/0.2.3/download",
-          "sha256": "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+          "url": "https://crates.io/api/v1/crates/idna/0.3.0/download",
+          "sha256": "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
         }
       },
       "targets": [
@@ -4095,12 +3121,9 @@
           "Library": {
             "crate_name": "idna",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4112,32 +3135,28 @@
         "deps": {
           "common": [
             {
-              "id": "matches 0.1.9",
-              "target": "matches"
-            },
-            {
-              "id": "unicode-bidi 0.3.8",
+              "id": "unicode-bidi 0.3.10",
               "target": "unicode_bidi"
             },
             {
-              "id": "unicode-normalization 0.1.21",
+              "id": "unicode-normalization 0.1.22",
               "target": "unicode_normalization"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.3"
+        "version": "0.3.0"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
-    "indexmap 1.9.1": {
+    "indexmap 1.9.2": {
       "name": "indexmap",
-      "version": "1.9.1",
+      "version": "1.9.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/indexmap/1.9.1/download",
-          "sha256": "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+          "url": "https://crates.io/api/v1/crates/indexmap/1.9.2/download",
+          "sha256": "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
         }
       },
       "targets": [
@@ -4145,24 +3164,18 @@
           "Library": {
             "crate_name": "indexmap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4171,24 +3184,27 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "hashbrown 0.12.1",
+              "id": "hashbrown 0.12.3",
               "target": "hashbrown"
             },
             {
-              "id": "indexmap 1.9.1",
+              "id": "indexmap 1.9.2",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2021",
-        "version": "1.9.1"
+        "version": "1.9.2"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4220,12 +3236,9 @@
           "Library": {
             "crate_name": "instant",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4248,13 +3261,13 @@
       },
       "license": "BSD-3-Clause"
     },
-    "ipnet 2.5.0": {
+    "ipnet 2.7.1": {
       "name": "ipnet",
-      "version": "2.5.0",
+      "version": "2.7.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/ipnet/2.5.0/download",
-          "sha256": "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b"
+          "url": "https://crates.io/api/v1/crates/ipnet/2.7.1/download",
+          "sha256": "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
         }
       },
       "targets": [
@@ -4262,12 +3275,9 @@
           "Library": {
             "crate_name": "ipnet",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4276,21 +3286,27 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "2.5.0"
+        "version": "2.7.1"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "isahc 1.7.2": {
+    "isahc 1.7.0": {
       "name": "isahc",
-      "version": "1.7.2",
+      "version": "1.7.0",
       "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/isahc/1.7.2/download",
-          "sha256": "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
+        "Git": {
+          "remote": "https://github.com/sagebind/isahc.git",
+          "commitish": {
+            "Rev": "096aff7b13f4ff5bb474fdc27bc30b297a2968f6"
+          },
+          "shallow_since": "1667787880 -0600"
         }
       },
       "targets": [
@@ -4298,24 +3314,18 @@
           "Library": {
             "crate_name": "isahc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4324,54 +3334,64 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "encoding_rs",
-          "http2",
-          "mime",
-          "static-curl",
-          "text-decoding"
-        ],
+        "crate_features": {
+          "common": [
+            "encoding_rs",
+            "http2",
+            "json",
+            "mime",
+            "rustls-tls",
+            "serde",
+            "serde_json",
+            "static-curl",
+            "text-decoding"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "async-channel 1.6.1",
+              "id": "async-channel 1.8.0",
               "target": "async_channel"
             },
             {
-              "id": "castaway 0.1.2",
+              "id": "castaway 0.2.2",
               "target": "castaway"
             },
             {
-              "id": "crossbeam-utils 0.8.10",
+              "id": "crossbeam-utils 0.8.15",
               "target": "crossbeam_utils"
             },
             {
-              "id": "curl 0.4.43",
+              "id": "curl 0.4.44",
               "target": "curl"
             },
             {
-              "id": "curl-sys 0.4.55+curl-7.83.1",
+              "id": "curl-sys 0.4.60+curl-7.88.1",
               "target": "curl_sys"
             },
             {
-              "id": "encoding_rs 0.8.31",
+              "id": "encoding_rs 0.8.32",
               "target": "encoding_rs"
             },
             {
-              "id": "event-listener 2.5.2",
+              "id": "event-listener 2.5.3",
               "target": "event_listener"
             },
             {
+              "id": "futures-io 0.3.26",
+              "target": "futures_io"
+            },
+            {
               "id": "futures-lite 1.12.0",
               "target": "futures_lite"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
-              "id": "isahc 1.7.2",
+              "id": "isahc 1.7.0",
               "target": "build_script_build"
             },
             {
@@ -4383,23 +3403,27 @@
               "target": "mime"
             },
             {
-              "id": "once_cell 1.13.0",
+              "id": "once_cell 1.17.1",
               "target": "once_cell"
             },
             {
-              "id": "polling 2.2.0",
+              "id": "polling 2.5.2",
               "target": "polling"
             },
             {
-              "id": "slab 0.4.6",
-              "target": "slab"
+              "id": "serde 1.0.152",
+              "target": "serde"
+            },
+            {
+              "id": "serde_json 1.0.93",
+              "target": "serde_json"
             },
             {
               "id": "sluice 0.5.5",
               "target": "sluice"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             },
             {
@@ -4407,7 +3431,7 @@
               "target": "tracing_futures"
             },
             {
-              "id": "url 2.2.2",
+              "id": "url 2.3.1",
               "target": "url"
             },
             {
@@ -4417,8 +3441,8 @@
           ],
           "selects": {}
         },
-        "edition": "2018",
-        "version": "1.7.2"
+        "edition": "2021",
+        "version": "1.7.0"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4427,59 +3451,13 @@
       },
       "license": "MIT"
     },
-    "itertools 0.10.3": {
-      "name": "itertools",
-      "version": "0.10.3",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/itertools/0.10.3/download",
-          "sha256": "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "itertools",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "itertools",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "use_alloc",
-          "use_std"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "either 1.7.0",
-              "target": "either"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.10.3"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "itoa 1.0.2": {
+    "itoa 1.0.5": {
       "name": "itoa",
-      "version": "1.0.2",
+      "version": "1.0.5",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/itoa/1.0.2/download",
-          "sha256": "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+          "url": "https://crates.io/api/v1/crates/itoa/1.0.5/download",
+          "sha256": "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
         }
       },
       "targets": [
@@ -4487,12 +3465,9 @@
           "Library": {
             "crate_name": "itoa",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4502,17 +3477,17 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.2"
+        "version": "1.0.5"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "js-sys 0.3.58": {
+    "js-sys 0.3.61": {
       "name": "js-sys",
-      "version": "0.3.58",
+      "version": "0.3.61",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/js-sys/0.3.58/download",
-          "sha256": "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27"
+          "url": "https://crates.io/api/v1/crates/js-sys/0.3.61/download",
+          "sha256": "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
         }
       },
       "targets": [
@@ -4520,12 +3495,9 @@
           "Library": {
             "crate_name": "js_sys",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4537,14 +3509,14 @@
         "deps": {
           "common": [
             {
-              "id": "wasm-bindgen 0.2.81",
+              "id": "wasm-bindgen 0.2.84",
               "target": "wasm_bindgen"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.58"
+        "version": "0.3.61"
       },
       "license": "MIT/Apache-2.0"
     },
@@ -4562,12 +3534,9 @@
           "Library": {
             "crate_name": "kv_log_macro",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4590,172 +3559,6 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "lalrpop 0.19.8": {
-      "name": "lalrpop",
-      "version": "0.19.8",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/lalrpop/0.19.8/download",
-          "sha256": "b30455341b0e18f276fa64540aff54deafb54c589de6aca68659c63dd2d5d823"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "lalrpop",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "Binary": {
-            "crate_name": "lalrpop",
-            "crate_root": "src/main.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "lalrpop",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default",
-          "lexer",
-          "pico-args"
-        ],
-        "data_glob": [
-          "**/*.lalrpop"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "ascii-canvas 3.0.0",
-              "target": "ascii_canvas"
-            },
-            {
-              "id": "atty 0.2.14",
-              "target": "atty"
-            },
-            {
-              "id": "bit-set 0.5.2",
-              "target": "bit_set"
-            },
-            {
-              "id": "diff 0.1.13",
-              "target": "diff"
-            },
-            {
-              "id": "ena 0.14.0",
-              "target": "ena"
-            },
-            {
-              "id": "itertools 0.10.3",
-              "target": "itertools"
-            },
-            {
-              "id": "lalrpop-util 0.19.8",
-              "target": "lalrpop_util"
-            },
-            {
-              "id": "petgraph 0.6.2",
-              "target": "petgraph"
-            },
-            {
-              "id": "pico-args 0.4.2",
-              "target": "pico_args"
-            },
-            {
-              "id": "regex 1.6.0",
-              "target": "regex"
-            },
-            {
-              "id": "regex-syntax 0.6.27",
-              "target": "regex_syntax"
-            },
-            {
-              "id": "string_cache 0.8.4",
-              "target": "string_cache"
-            },
-            {
-              "id": "term 0.7.0",
-              "target": "term"
-            },
-            {
-              "id": "tiny-keccak 2.0.2",
-              "target": "tiny_keccak"
-            },
-            {
-              "id": "unicode-xid 0.2.3",
-              "target": "unicode_xid"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2015",
-        "version": "0.19.8"
-      },
-      "license": "Apache-2.0/MIT"
-    },
-    "lalrpop-util 0.19.8": {
-      "name": "lalrpop-util",
-      "version": "0.19.8",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/lalrpop-util/0.19.8/download",
-          "sha256": "bcf796c978e9b4d983414f4caedc9273aa33ee214c5b887bd55fde84c85d2dc4"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "lalrpop_util",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "lalrpop_util",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default",
-          "lexer",
-          "regex",
-          "std"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "regex 1.6.0",
-              "target": "regex"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.19.8"
-      },
-      "license": "Apache-2.0/MIT"
-    },
     "lazy_static 1.4.0": {
       "name": "lazy_static",
       "version": "1.4.0",
@@ -4770,12 +3573,9 @@
           "Library": {
             "crate_name": "lazy_static",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4803,12 +3603,9 @@
           "Library": {
             "crate_name": "levenshtein",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4822,13 +3619,13 @@
       },
       "license": "MIT"
     },
-    "libc 0.2.126": {
+    "libc 0.2.139": {
       "name": "libc",
-      "version": "0.2.126",
+      "version": "0.2.139",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/libc/0.2.126/download",
-          "sha256": "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+          "url": "https://crates.io/api/v1/crates/libc/0.2.139/download",
+          "sha256": "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
         }
       },
       "targets": [
@@ -4836,24 +3633,18 @@
           "Library": {
             "crate_name": "libc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4862,21 +3653,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "0.2.126"
+        "version": "0.2.139"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4899,24 +3693,18 @@
           "Library": {
             "crate_name": "libnghttp2_sys",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4931,7 +3719,7 @@
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             },
             {
@@ -4952,7 +3740,7 @@
         "deps": {
           "common": [
             {
-              "id": "cc 1.0.73",
+              "id": "cc 1.0.79",
               "target": "cc"
             }
           ],
@@ -4976,24 +3764,18 @@
           "Library": {
             "crate_name": "libz_sys",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5002,13 +3784,16 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "libc"
-        ],
+        "crate_features": {
+          "common": [
+            "libc"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             },
             {
@@ -5028,11 +3813,11 @@
         "deps": {
           "common": [
             {
-              "id": "cc 1.0.73",
+              "id": "cc 1.0.79",
               "target": "cc"
             },
             {
-              "id": "pkg-config 0.3.25",
+              "id": "pkg-config 0.3.26",
               "target": "pkg_config"
             }
           ],
@@ -5049,78 +3834,6 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "lock_api 0.4.7": {
-      "name": "lock_api",
-      "version": "0.4.7",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/lock_api/0.4.7/download",
-          "sha256": "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "lock_api",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "lock_api",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "lock_api 0.4.7",
-              "target": "build_script_build"
-            },
-            {
-              "id": "scopeguard 1.1.0",
-              "target": "scopeguard"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.4.7"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "autocfg 1.1.0",
-              "target": "autocfg"
-            }
-          ],
-          "selects": {}
-        }
-      },
-      "license": "MIT OR Apache-2.0"
-    },
     "log 0.4.17": {
       "name": "log",
       "version": "0.4.17",
@@ -5135,24 +3848,18 @@
           "Library": {
             "crate_name": "log",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5161,10 +3868,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "kv_unstable",
-          "value-bag"
-        ],
+        "crate_features": {
+          "common": [
+            "kv_unstable",
+            "value-bag"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -5192,39 +3902,6 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "matches 0.1.9": {
-      "name": "matches",
-      "version": "0.1.9",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/matches/0.1.9/download",
-          "sha256": "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "matches",
-            "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "matches",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2015",
-        "version": "0.1.9"
-      },
-      "license": "MIT"
-    },
     "md-5 0.9.1": {
       "name": "md-5",
       "version": "0.9.1",
@@ -5239,12 +3916,9 @@
           "Library": {
             "crate_name": "md5",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5253,10 +3927,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -5293,24 +3970,18 @@
           "Library": {
             "crate_name": "memchr",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5319,10 +3990,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -5356,12 +4030,9 @@
           "Library": {
             "crate_name": "mime",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5375,13 +4046,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "mio 0.8.4": {
+    "mio 0.8.6": {
       "name": "mio",
-      "version": "0.8.4",
+      "version": "0.8.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/mio/0.8.4/download",
-          "sha256": "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
+          "url": "https://crates.io/api/v1/crates/mio/0.8.6/download",
+          "sha256": "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
         }
       },
       "targets": [
@@ -5389,12 +4060,9 @@
           "Library": {
             "crate_name": "mio",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5403,12 +4071,15 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "net",
-          "os-ext",
-          "os-poll"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "net",
+            "os-ext",
+            "os-poll"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -5419,7 +4090,7 @@
           "selects": {
             "cfg(target_os = \"wasi\")": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               },
               {
@@ -5429,169 +4100,30 @@
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
             "cfg(windows)": [
               {
-                "id": "windows-sys 0.36.1",
+                "id": "windows-sys 0.45.0",
                 "target": "windows_sys"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "0.8.4"
+        "version": "0.8.6"
       },
       "license": "MIT"
     },
-    "native-tls 0.2.10": {
-      "name": "native-tls",
-      "version": "0.2.10",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/native-tls/0.2.10/download",
-          "sha256": "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "native_tls",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "native_tls",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "native-tls 0.2.10",
-              "target": "build_script_build"
-            }
-          ],
-          "selects": {
-            "cfg(any(target_os = \"macos\", target_os = \"ios\"))": [
-              {
-                "id": "lazy_static 1.4.0",
-                "target": "lazy_static"
-              },
-              {
-                "id": "libc 0.2.126",
-                "target": "libc"
-              },
-              {
-                "id": "security-framework 2.6.1",
-                "target": "security_framework"
-              },
-              {
-                "id": "security-framework-sys 2.6.1",
-                "target": "security_framework_sys"
-              },
-              {
-                "id": "tempfile 3.3.0",
-                "target": "tempfile"
-              }
-            ],
-            "cfg(not(any(target_os = \"windows\", target_os = \"macos\", target_os = \"ios\")))": [
-              {
-                "id": "log 0.4.17",
-                "target": "log"
-              },
-              {
-                "id": "openssl 0.10.40",
-                "target": "openssl"
-              },
-              {
-                "id": "openssl-probe 0.1.5",
-                "target": "openssl_probe"
-              },
-              {
-                "id": "openssl-sys 0.9.74",
-                "target": "openssl_sys"
-              }
-            ],
-            "cfg(target_os = \"windows\")": [
-              {
-                "id": "schannel 0.1.20",
-                "target": "schannel"
-              }
-            ]
-          }
-        },
-        "edition": "2015",
-        "version": "0.2.10"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ]
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "new_debug_unreachable 1.0.4": {
-      "name": "new_debug_unreachable",
-      "version": "1.0.4",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/new_debug_unreachable/1.0.4/download",
-          "sha256": "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "debug_unreachable",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "debug_unreachable",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "version": "1.0.4"
-      },
-      "license": "MIT"
-    },
-    "num_cpus 1.13.1": {
+    "num_cpus 1.15.0": {
       "name": "num_cpus",
-      "version": "1.13.1",
+      "version": "1.15.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/num_cpus/1.13.1/download",
-          "sha256": "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+          "url": "https://crates.io/api/v1/crates/num_cpus/1.15.0/download",
+          "sha256": "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
         }
       },
       "targets": [
@@ -5599,12 +4131,9 @@
           "Library": {
             "crate_name": "num_cpus",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5618,30 +4147,134 @@
           "selects": {
             "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [
               {
-                "id": "hermit-abi 0.1.19",
+                "id": "hermit-abi 0.2.6",
                 "target": "hermit_abi"
               }
             ],
             "cfg(not(windows))": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ]
           }
         },
         "edition": "2015",
-        "version": "1.13.1"
+        "version": "1.15.0"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "once_cell 1.13.0": {
-      "name": "once_cell",
-      "version": "1.13.0",
+    "num_enum 0.5.11": {
+      "name": "num_enum",
+      "version": "0.5.11",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/once_cell/1.13.0/download",
-          "sha256": "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+          "url": "https://crates.io/api/v1/crates/num_enum/0.5.11/download",
+          "sha256": "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "num_enum",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "num_enum",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "proc_macro_deps": {
+          "common": [
+            {
+              "id": "num_enum_derive 0.5.11",
+              "target": "num_enum_derive"
+            }
+          ],
+          "selects": {}
+        },
+        "version": "0.5.11"
+      },
+      "license": "BSD-3-Clause OR MIT OR Apache-2.0"
+    },
+    "num_enum_derive 0.5.11": {
+      "name": "num_enum_derive",
+      "version": "0.5.11",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/num_enum_derive/0.5.11/download",
+          "sha256": "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+        }
+      },
+      "targets": [
+        {
+          "ProcMacro": {
+            "crate_name": "num_enum_derive",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "num_enum_derive",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "proc-macro-crate",
+            "std"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "proc-macro-crate 1.3.1",
+              "target": "proc_macro_crate"
+            },
+            {
+              "id": "proc-macro2 1.0.51",
+              "target": "proc_macro2"
+            },
+            {
+              "id": "quote 1.0.23",
+              "target": "quote"
+            },
+            {
+              "id": "syn 1.0.109",
+              "target": "syn"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.5.11"
+      },
+      "license": "BSD-3-Clause OR MIT OR Apache-2.0"
+    },
+    "once_cell 1.17.1": {
+      "name": "once_cell",
+      "version": "1.17.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/once_cell/1.17.1/download",
+          "sha256": "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
         }
       },
       "targets": [
@@ -5649,12 +4282,9 @@
           "Library": {
             "crate_name": "once_cell",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5663,14 +4293,17 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "race",
-          "std"
-        ],
-        "edition": "2018",
-        "version": "1.13.0"
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "race",
+            "std"
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "1.17.1"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -5688,12 +4321,9 @@
           "Library": {
             "crate_name": "opaque_debug",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -5707,304 +4337,6 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "openssl 0.10.40": {
-      "name": "openssl",
-      "version": "0.10.40",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/openssl/0.10.40/download",
-          "sha256": "fb81a6430ac911acb25fe5ac8f1d2af1b4ea8a4fdfda0f1ee4292af2e2d8eb0e"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "openssl",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "openssl",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "bitflags 1.3.2",
-              "target": "bitflags"
-            },
-            {
-              "id": "cfg-if 1.0.0",
-              "target": "cfg_if"
-            },
-            {
-              "id": "foreign-types 0.3.2",
-              "target": "foreign_types"
-            },
-            {
-              "id": "libc 0.2.126",
-              "target": "libc"
-            },
-            {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
-            },
-            {
-              "id": "openssl 0.10.40",
-              "target": "build_script_build"
-            },
-            {
-              "id": "openssl-sys 0.9.74",
-              "target": "openssl_sys",
-              "alias": "ffi"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "proc_macro_deps": {
-          "common": [
-            {
-              "id": "openssl-macros 0.1.0",
-              "target": "openssl_macros"
-            }
-          ],
-          "selects": {}
-        },
-        "version": "0.10.40"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "openssl-sys 0.9.74",
-              "target": "openssl_sys",
-              "alias": "ffi"
-            }
-          ],
-          "selects": {}
-        }
-      },
-      "license": "Apache-2.0"
-    },
-    "openssl-macros 0.1.0": {
-      "name": "openssl-macros",
-      "version": "0.1.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/openssl-macros/0.1.0/download",
-          "sha256": "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
-        }
-      },
-      "targets": [
-        {
-          "ProcMacro": {
-            "crate_name": "openssl_macros",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "openssl_macros",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "proc-macro2 1.0.40",
-              "target": "proc_macro2"
-            },
-            {
-              "id": "quote 1.0.20",
-              "target": "quote"
-            },
-            {
-              "id": "syn 1.0.98",
-              "target": "syn"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.1.0"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "openssl-probe 0.1.5": {
-      "name": "openssl-probe",
-      "version": "0.1.5",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/openssl-probe/0.1.5/download",
-          "sha256": "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "openssl_probe",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "openssl_probe",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2015",
-        "version": "0.1.5"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "openssl-sys 0.9.74": {
-      "name": "openssl-sys",
-      "version": "0.9.74",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/openssl-sys/0.9.74/download",
-          "sha256": "835363342df5fba8354c5b453325b110ffd54044e588c539cf2f20a8014e4cb1"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "openssl_sys",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_main",
-            "crate_root": "build/main.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "openssl_sys",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "data": {
-          "common": [
-            "@openssl"
-          ],
-          "selects": {}
-        },
-        "deps": {
-          "common": [
-            {
-              "id": "libc 0.2.126",
-              "target": "libc"
-            },
-            {
-              "id": "openssl-sys 0.9.74",
-              "target": "build_script_main"
-            }
-          ],
-          "selects": {}
-        },
-        "extra_deps": [
-          "@openssl"
-        ],
-        "edition": "2015",
-        "version": "0.9.74"
-      },
-      "build_script_attrs": {
-        "data": {
-          "common": [
-            "@openssl//:gen_dir",
-            "@openssl//:openssl"
-          ],
-          "selects": {}
-        },
-        "data_glob": [
-          "**",
-          "build/**/*.c"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "autocfg 1.1.0",
-              "target": "autocfg"
-            },
-            {
-              "id": "cc 1.0.73",
-              "target": "cc"
-            },
-            {
-              "id": "pkg-config 0.3.25",
-              "target": "pkg_config"
-            }
-          ],
-          "selects": {
-            "cfg(target_env = \"msvc\")": [
-              {
-                "id": "vcpkg 0.2.15",
-                "target": "vcpkg"
-              }
-            ]
-          }
-        },
-        "build_script_env": {
-          "common": {
-            "OPENSSL_DIR": "$(execpath @openssl//:gen_dir)",
-            "OPENSSL_STATIC": "1"
-          },
-          "selects": {}
-        },
-        "links": "openssl"
-      },
-      "license": "MIT"
-    },
     "parking 2.0.0": {
       "name": "parking",
       "version": "2.0.0",
@@ -6019,12 +4351,9 @@
           "Library": {
             "crate_name": "parking",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6038,161 +4367,23 @@
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "parking_lot 0.12.1": {
-      "name": "parking_lot",
-      "version": "0.12.1",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/parking_lot/0.12.1/download",
-          "sha256": "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "parking_lot",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "parking_lot",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "lock_api 0.4.7",
-              "target": "lock_api"
-            },
-            {
-              "id": "parking_lot_core 0.9.3",
-              "target": "parking_lot_core"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.12.1"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "parking_lot_core 0.9.3": {
-      "name": "parking_lot_core",
-      "version": "0.9.3",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download",
-          "sha256": "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "parking_lot_core",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "parking_lot_core",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "cfg-if 1.0.0",
-              "target": "cfg_if"
-            },
-            {
-              "id": "parking_lot_core 0.9.3",
-              "target": "build_script_build"
-            },
-            {
-              "id": "smallvec 1.9.0",
-              "target": "smallvec"
-            }
-          ],
-          "selects": {
-            "cfg(target_os = \"redox\")": [
-              {
-                "id": "redox_syscall 0.2.13",
-                "target": "syscall"
-              }
-            ],
-            "cfg(unix)": [
-              {
-                "id": "libc 0.2.126",
-                "target": "libc"
-              }
-            ],
-            "cfg(windows)": [
-              {
-                "id": "windows-sys 0.36.1",
-                "target": "windows_sys"
-              }
-            ]
-          }
-        },
-        "edition": "2018",
-        "version": "0.9.3"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ]
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "percent-encoding 2.1.0": {
+    "percent-encoding 2.2.0": {
       "name": "percent-encoding",
-      "version": "2.1.0",
+      "version": "2.2.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/percent-encoding/2.1.0/download",
-          "sha256": "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+          "url": "https://crates.io/api/v1/crates/percent-encoding/2.2.0/download",
+          "sha256": "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
         }
       },
       "targets": [
         {
           "Library": {
             "crate_name": "percent_encoding",
-            "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6201,143 +4392,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "edition": "2015",
-        "version": "2.1.0"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "petgraph 0.6.2": {
-      "name": "petgraph",
-      "version": "0.6.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/petgraph/0.6.2/download",
-          "sha256": "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "petgraph",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "petgraph",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
+        "crate_features": {
           "common": [
-            {
-              "id": "fixedbitset 0.4.2",
-              "target": "fixedbitset"
-            },
-            {
-              "id": "indexmap 1.9.1",
-              "target": "indexmap"
-            }
+            "alloc",
+            "default"
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.6.2"
+        "version": "2.2.0"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
-    "phf_shared 0.10.0": {
-      "name": "phf_shared",
-      "version": "0.10.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/phf_shared/0.10.0/download",
-          "sha256": "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "phf_shared",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "phf_shared",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "siphasher 0.3.10",
-              "target": "siphasher"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.10.0"
-      },
-      "license": "MIT"
-    },
-    "pico-args 0.4.2": {
-      "name": "pico-args",
-      "version": "0.4.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/pico-args/0.4.2/download",
-          "sha256": "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "pico_args",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "pico_args",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "version": "0.4.2"
-      },
-      "license": "MIT"
-    },
-    "pin-project 1.0.11": {
+    "pin-project 1.0.12": {
       "name": "pin-project",
-      "version": "1.0.11",
+      "version": "1.0.12",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/pin-project/1.0.11/download",
-          "sha256": "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260"
+          "url": "https://crates.io/api/v1/crates/pin-project/1.0.12/download",
+          "sha256": "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
         }
       },
       "targets": [
@@ -6345,12 +4418,9 @@
           "Library": {
             "crate_name": "pin_project",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6363,23 +4433,23 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "pin-project-internal 1.0.11",
+              "id": "pin-project-internal 1.0.12",
               "target": "pin_project_internal"
             }
           ],
           "selects": {}
         },
-        "version": "1.0.11"
+        "version": "1.0.12"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "pin-project-internal 1.0.11": {
+    "pin-project-internal 1.0.12": {
       "name": "pin-project-internal",
-      "version": "1.0.11",
+      "version": "1.0.12",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/pin-project-internal/1.0.11/download",
-          "sha256": "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74"
+          "url": "https://crates.io/api/v1/crates/pin-project-internal/1.0.12/download",
+          "sha256": "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
         }
       },
       "targets": [
@@ -6387,12 +4457,9 @@
           "ProcMacro": {
             "crate_name": "pin_project_internal",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6404,22 +4471,22 @@
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.11"
+        "version": "1.0.12"
       },
       "license": "Apache-2.0 OR MIT"
     },
@@ -6437,12 +4504,9 @@
           "Library": {
             "crate_name": "pin_project_lite",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6470,12 +4534,9 @@
           "Library": {
             "crate_name": "pin_utils",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6489,13 +4550,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "pkg-config 0.3.25": {
+    "pkg-config 0.3.26": {
       "name": "pkg-config",
-      "version": "0.3.25",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/pkg-config/0.3.25/download",
-          "sha256": "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+          "url": "https://crates.io/api/v1/crates/pkg-config/0.3.26/download",
+          "sha256": "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
         }
       },
       "targets": [
@@ -6503,12 +4564,9 @@
           "Library": {
             "crate_name": "pkg_config",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6518,7 +4576,7 @@
           "**"
         ],
         "edition": "2015",
-        "version": "0.3.25"
+        "version": "0.3.26"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -6531,12 +4589,9 @@
           "Library": {
             "crate_name": "pkg_a",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6548,11 +4603,11 @@
         "deps": {
           "common": [
             {
-              "id": "anyhow 1.0.58",
+              "id": "anyhow 1.0.69",
               "target": "anyhow"
             },
             {
-              "id": "reqwest 0.11.11",
+              "id": "reqwest 0.11.14",
               "target": "reqwest"
             }
           ],
@@ -6561,7 +4616,7 @@
         "deps_dev": {
           "common": [
             {
-              "id": "httpmock 0.6.6",
+              "id": "httpmock 0.6.7",
               "target": "httpmock"
             }
           ],
@@ -6581,12 +4636,9 @@
           "Library": {
             "crate_name": "pkg_b",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6598,8 +4650,12 @@
         "deps": {
           "common": [
             {
-              "id": "openssl 0.10.40",
-              "target": "openssl"
+              "id": "rustls 0.20.8",
+              "target": "rustls"
+            },
+            {
+              "id": "rustls-pemfile 1.0.2",
+              "target": "rustls_pemfile"
             }
           ],
           "selects": {}
@@ -6618,12 +4674,9 @@
           "Library": {
             "crate_name": "pkg_c",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6655,13 +4708,13 @@
       },
       "license": null
     },
-    "polling 2.2.0": {
+    "polling 2.5.2": {
       "name": "polling",
-      "version": "2.2.0",
+      "version": "2.5.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/polling/2.2.0/download",
-          "sha256": "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
+          "url": "https://crates.io/api/v1/crates/polling/2.5.2/download",
+          "sha256": "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6"
         }
       },
       "targets": [
@@ -6669,12 +4722,18 @@
           "Library": {
             "crate_name": "polling",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6683,10 +4742,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -6696,12 +4758,16 @@
             {
               "id": "log 0.4.17",
               "target": "log"
+            },
+            {
+              "id": "polling 2.5.2",
+              "target": "build_script_build"
             }
           ],
           "selects": {
             "cfg(any(unix, target_os = \"fuchsia\", target_os = \"vxworks\"))": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
@@ -6711,57 +4777,81 @@
                 "target": "wepoll_ffi"
               },
               {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
+                "id": "windows-sys 0.42.0",
+                "target": "windows_sys"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "2.2.0"
+        "version": "2.5.2"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "precomputed-hash 0.1.1": {
-      "name": "precomputed-hash",
-      "version": "0.1.1",
+    "proc-macro-crate 1.3.1": {
+      "name": "proc-macro-crate",
+      "version": "1.3.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/precomputed-hash/0.1.1/download",
-          "sha256": "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+          "url": "https://crates.io/api/v1/crates/proc-macro-crate/1.3.1/download",
+          "sha256": "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
         }
       },
       "targets": [
         {
           "Library": {
-            "crate_name": "precomputed_hash",
+            "crate_name": "proc_macro_crate",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
-      "library_target_name": "precomputed_hash",
+      "library_target_name": "proc_macro_crate",
       "common_attrs": {
         "compile_data_glob": [
           "**"
         ],
-        "edition": "2015",
-        "version": "0.1.1"
+        "deps": {
+          "common": [
+            {
+              "id": "once_cell 1.17.1",
+              "target": "once_cell"
+            },
+            {
+              "id": "toml_edit 0.19.4",
+              "target": "toml_edit"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "1.3.1"
       },
-      "license": "MIT"
+      "license": "MIT OR Apache-2.0"
     },
-    "proc-macro2 1.0.40": {
+    "proc-macro2 1.0.51": {
       "name": "proc-macro2",
-      "version": "1.0.40",
+      "version": "1.0.51",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.40/download",
-          "sha256": "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+          "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.51/download",
+          "sha256": "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
         }
       },
       "targets": [
@@ -6769,24 +4859,18 @@
           "Library": {
             "crate_name": "proc_macro2",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6795,25 +4879,28 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "proc-macro"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "proc-macro"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "build_script_build"
             },
             {
-              "id": "unicode-ident 1.0.1",
+              "id": "unicode-ident 1.0.6",
               "target": "unicode_ident"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.40"
+        "version": "1.0.51"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -6822,13 +4909,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "quote 1.0.20": {
+    "quote 1.0.23": {
       "name": "quote",
-      "version": "1.0.20",
+      "version": "1.0.23",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/quote/1.0.20/download",
-          "sha256": "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+          "url": "https://crates.io/api/v1/crates/quote/1.0.23/download",
+          "sha256": "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
         }
       },
       "targets": [
@@ -6836,24 +4923,18 @@
           "Library": {
             "crate_name": "quote",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -6862,25 +4943,28 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "proc-macro"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "proc-macro"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.20"
+        "version": "1.0.23"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -6889,105 +4973,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "redox_syscall 0.2.13": {
-      "name": "redox_syscall",
-      "version": "0.2.13",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/redox_syscall/0.2.13/download",
-          "sha256": "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "syscall",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "syscall",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "bitflags 1.3.2",
-              "target": "bitflags"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.2.13"
-      },
-      "license": "MIT"
-    },
-    "redox_users 0.4.3": {
-      "name": "redox_users",
-      "version": "0.4.3",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/redox_users/0.4.3/download",
-          "sha256": "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "redox_users",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "redox_users",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "getrandom 0.2.7",
-              "target": "getrandom"
-            },
-            {
-              "id": "redox_syscall 0.2.13",
-              "target": "syscall"
-            },
-            {
-              "id": "thiserror 1.0.31",
-              "target": "thiserror"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.4.3"
-      },
-      "license": "MIT"
-    },
-    "regex 1.6.0": {
+    "regex 1.7.1": {
       "name": "regex",
-      "version": "1.6.0",
+      "version": "1.7.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/regex/1.6.0/download",
-          "sha256": "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+          "url": "https://crates.io/api/v1/crates/regex/1.7.1/download",
+          "sha256": "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
         }
       },
       "targets": [
@@ -6995,12 +4987,9 @@
           "Library": {
             "crate_name": "regex",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7009,29 +4998,32 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "aho-corasick",
-          "default",
-          "memchr",
-          "perf",
-          "perf-cache",
-          "perf-dfa",
-          "perf-inline",
-          "perf-literal",
-          "std",
-          "unicode",
-          "unicode-age",
-          "unicode-bool",
-          "unicode-case",
-          "unicode-gencat",
-          "unicode-perl",
-          "unicode-script",
-          "unicode-segment"
-        ],
+        "crate_features": {
+          "common": [
+            "aho-corasick",
+            "default",
+            "memchr",
+            "perf",
+            "perf-cache",
+            "perf-dfa",
+            "perf-inline",
+            "perf-literal",
+            "std",
+            "unicode",
+            "unicode-age",
+            "unicode-bool",
+            "unicode-case",
+            "unicode-gencat",
+            "unicode-perl",
+            "unicode-script",
+            "unicode-segment"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "aho-corasick 0.7.18",
+              "id": "aho-corasick 0.7.20",
               "target": "aho_corasick"
             },
             {
@@ -7039,24 +5031,24 @@
               "target": "memchr"
             },
             {
-              "id": "regex-syntax 0.6.27",
+              "id": "regex-syntax 0.6.28",
               "target": "regex_syntax"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.6.0"
+        "version": "1.7.1"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "regex-syntax 0.6.27": {
+    "regex-syntax 0.6.28": {
       "name": "regex-syntax",
-      "version": "0.6.27",
+      "version": "0.6.28",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/regex-syntax/0.6.27/download",
-          "sha256": "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+          "url": "https://crates.io/api/v1/crates/regex-syntax/0.6.28/download",
+          "sha256": "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
         }
       },
       "targets": [
@@ -7064,12 +5056,9 @@
           "Library": {
             "crate_name": "regex_syntax",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7078,73 +5067,32 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "unicode",
-          "unicode-age",
-          "unicode-bool",
-          "unicode-case",
-          "unicode-gencat",
-          "unicode-perl",
-          "unicode-script",
-          "unicode-segment"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "unicode",
+            "unicode-age",
+            "unicode-bool",
+            "unicode-case",
+            "unicode-gencat",
+            "unicode-perl",
+            "unicode-script",
+            "unicode-segment"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.6.27"
+        "version": "0.6.28"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "remove_dir_all 0.5.3": {
-      "name": "remove_dir_all",
-      "version": "0.5.3",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/remove_dir_all/0.5.3/download",
-          "sha256": "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "remove_dir_all",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "remove_dir_all",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [],
-          "selects": {
-            "cfg(windows)": [
-              {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
-              }
-            ]
-          }
-        },
-        "edition": "2015",
-        "version": "0.5.3"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "reqwest 0.11.11": {
+    "reqwest 0.11.14": {
       "name": "reqwest",
-      "version": "0.11.11",
+      "version": "0.11.14",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/reqwest/0.11.11/download",
-          "sha256": "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92"
+          "url": "https://crates.io/api/v1/crates/reqwest/0.11.14/download",
+          "sha256": "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
         }
       },
       "targets": [
@@ -7152,12 +5100,9 @@
           "Library": {
             "crate_name": "reqwest",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7166,37 +5111,51 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "__tls",
-          "blocking",
-          "default",
-          "default-tls",
-          "hyper-tls",
-          "json",
-          "native-tls-crate",
-          "serde_json",
-          "tokio-native-tls"
-        ],
+        "crate_features": {
+          "common": [
+            "__rustls",
+            "__tls",
+            "blocking",
+            "hyper-rustls",
+            "json",
+            "rustls",
+            "rustls-pemfile",
+            "rustls-tls",
+            "rustls-tls-webpki-roots",
+            "serde_json",
+            "tokio-rustls",
+            "webpki-roots"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "base64 0.13.0",
+              "id": "base64 0.21.0",
               "target": "base64"
             },
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "http 0.2.8",
+              "id": "futures-core 0.3.26",
+              "target": "futures_core"
+            },
+            {
+              "id": "futures-util 0.3.26",
+              "target": "futures_util"
+            },
+            {
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             },
             {
-              "id": "serde_json 1.0.82",
+              "id": "serde_json 1.0.93",
               "target": "serde_json"
             },
             {
@@ -7208,26 +5167,18 @@
               "target": "tower_service"
             },
             {
-              "id": "url 2.2.2",
+              "id": "url 2.3.1",
               "target": "url"
             }
           ],
           "selects": {
             "cfg(not(target_arch = \"wasm32\"))": [
               {
-                "id": "encoding_rs 0.8.31",
+                "id": "encoding_rs 0.8.32",
                 "target": "encoding_rs"
               },
               {
-                "id": "futures-core 0.3.21",
-                "target": "futures_core"
-              },
-              {
-                "id": "futures-util 0.3.21",
-                "target": "futures_util"
-              },
-              {
-                "id": "h2 0.3.13",
+                "id": "h2 0.3.16",
                 "target": "h2"
               },
               {
@@ -7235,22 +5186,18 @@
                 "target": "http_body"
               },
               {
-                "id": "hyper 0.14.19",
+                "id": "hyper 0.14.24",
                 "target": "hyper"
               },
               {
-                "id": "hyper-tls 0.5.0",
-                "target": "hyper_tls"
+                "id": "hyper-rustls 0.23.2",
+                "target": "hyper_rustls"
               },
               {
-                "id": "ipnet 2.5.0",
+                "id": "ipnet 2.7.1",
                 "target": "ipnet"
               },
               {
-                "id": "lazy_static 1.4.0",
-                "target": "lazy_static"
-              },
-              {
                 "id": "log 0.4.17",
                 "target": "log"
               },
@@ -7259,12 +5206,11 @@
                 "target": "mime"
               },
               {
-                "id": "native-tls 0.2.10",
-                "target": "native_tls",
-                "alias": "native_tls_crate"
+                "id": "once_cell 1.17.1",
+                "target": "once_cell"
               },
               {
-                "id": "percent-encoding 2.1.0",
+                "id": "percent-encoding 2.2.0",
                 "target": "percent_encoding"
               },
               {
@@ -7272,33 +5218,41 @@
                 "target": "pin_project_lite"
               },
               {
-                "id": "tokio 1.19.2",
+                "id": "rustls 0.20.8",
+                "target": "rustls"
+              },
+              {
+                "id": "rustls-pemfile 1.0.2",
+                "target": "rustls_pemfile"
+              },
+              {
+                "id": "tokio 1.26.0",
                 "target": "tokio"
               },
               {
-                "id": "tokio-native-tls 0.3.0",
-                "target": "tokio_native_tls"
+                "id": "tokio-rustls 0.23.4",
+                "target": "tokio_rustls"
+              },
+              {
+                "id": "webpki-roots 0.22.6",
+                "target": "webpki_roots"
               }
             ],
             "cfg(target_arch = \"wasm32\")": [
               {
-                "id": "js-sys 0.3.58",
+                "id": "js-sys 0.3.61",
                 "target": "js_sys"
               },
               {
-                "id": "serde_json 1.0.82",
-                "target": "serde_json"
-              },
-              {
-                "id": "wasm-bindgen 0.2.81",
+                "id": "wasm-bindgen 0.2.84",
                 "target": "wasm_bindgen"
               },
               {
-                "id": "wasm-bindgen-futures 0.4.31",
+                "id": "wasm-bindgen-futures 0.4.34",
                 "target": "wasm_bindgen_futures"
               },
               {
-                "id": "web-sys 0.3.58",
+                "id": "web-sys 0.3.61",
                 "target": "web_sys"
               }
             ],
@@ -7311,17 +5265,373 @@
           }
         },
         "edition": "2018",
-        "version": "0.11.11"
+        "version": "0.11.14"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
-    "rustversion 1.0.7": {
-      "name": "rustversion",
-      "version": "1.0.7",
+    "ring 0.16.20": {
+      "name": "ring",
+      "version": "0.16.20",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/rustversion/1.0.7/download",
-          "sha256": "a0a5f7c728f5d284929a1cccb5bc19884422bfe6ef4d6c409da2c41838983fcf"
+          "url": "https://crates.io/api/v1/crates/ring/0.16.20/download",
+          "sha256": "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "ring",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "ring",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "dev_urandom_fallback",
+            "once_cell"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "ring 0.16.20",
+              "target": "build_script_build"
+            },
+            {
+              "id": "untrusted 0.7.1",
+              "target": "untrusted"
+            }
+          ],
+          "selects": {
+            "cfg(all(target_arch = \"wasm32\", target_vendor = \"unknown\", target_os = \"unknown\", target_env = \"\"))": [
+              {
+                "id": "web-sys 0.3.61",
+                "target": "web_sys"
+              }
+            ],
+            "cfg(any(target_arch = \"x86\", target_arch = \"x86_64\", all(any(target_arch = \"aarch64\", target_arch = \"arm\"), any(target_os = \"android\", target_os = \"fuchsia\", target_os = \"linux\"))))": [
+              {
+                "id": "spin 0.5.2",
+                "target": "spin"
+              }
+            ],
+            "cfg(any(target_os = \"android\", target_os = \"linux\"))": [
+              {
+                "id": "libc 0.2.139",
+                "target": "libc"
+              },
+              {
+                "id": "once_cell 1.17.1",
+                "target": "once_cell"
+              }
+            ],
+            "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"illumos\", target_os = \"netbsd\", target_os = \"openbsd\", target_os = \"solaris\"))": [
+              {
+                "id": "once_cell 1.17.1",
+                "target": "once_cell"
+              }
+            ],
+            "cfg(target_os = \"windows\")": [
+              {
+                "id": "winapi 0.3.9",
+                "target": "winapi"
+              }
+            ]
+          }
+        },
+        "edition": "2018",
+        "version": "0.16.20"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "cc 1.0.79",
+              "target": "cc"
+            }
+          ],
+          "selects": {}
+        },
+        "links": "ring-asm"
+      },
+      "license": null
+    },
+    "rustls 0.20.8": {
+      "name": "rustls",
+      "version": "0.20.8",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/rustls/0.20.8/download",
+          "sha256": "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "rustls",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "rustls",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "dangerous_configuration",
+            "default",
+            "log",
+            "logging",
+            "tls12"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "log 0.4.17",
+              "target": "log"
+            },
+            {
+              "id": "ring 0.16.20",
+              "target": "ring"
+            },
+            {
+              "id": "rustls 0.20.8",
+              "target": "build_script_build"
+            },
+            {
+              "id": "sct 0.7.0",
+              "target": "sct"
+            },
+            {
+              "id": "webpki 0.22.0",
+              "target": "webpki"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.20.8"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ]
+      },
+      "license": "Apache-2.0/ISC/MIT"
+    },
+    "rustls-ffi 0.8.2": {
+      "name": "rustls-ffi",
+      "version": "0.8.2",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/rustls-ffi/0.8.2/download",
+          "sha256": "9da52707cca59e6eef8a78f3ad8d04024254a168ed1b41eb4dfa9616eace781a"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "rustls_ffi",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "rustls_ffi",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "no_log_capture"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "libc 0.2.139",
+              "target": "libc"
+            },
+            {
+              "id": "log 0.4.17",
+              "target": "log"
+            },
+            {
+              "id": "num_enum 0.5.11",
+              "target": "num_enum"
+            },
+            {
+              "id": "rustls 0.20.8",
+              "target": "rustls"
+            },
+            {
+              "id": "rustls-ffi 0.8.2",
+              "target": "build_script_build"
+            },
+            {
+              "id": "rustls-pemfile 0.2.1",
+              "target": "rustls_pemfile"
+            },
+            {
+              "id": "sct 0.7.0",
+              "target": "sct"
+            },
+            {
+              "id": "webpki 0.22.0",
+              "target": "webpki"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.8.2"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "links": "rustls_ffi"
+      },
+      "license": "Apache-2.0/ISC/MIT"
+    },
+    "rustls-pemfile 0.2.1": {
+      "name": "rustls-pemfile",
+      "version": "0.2.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/rustls-pemfile/0.2.1/download",
+          "sha256": "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "rustls_pemfile",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "rustls_pemfile",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "base64 0.13.1",
+              "target": "base64"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.2.1"
+      },
+      "license": "Apache-2.0/ISC/MIT"
+    },
+    "rustls-pemfile 1.0.2": {
+      "name": "rustls-pemfile",
+      "version": "1.0.2",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/rustls-pemfile/1.0.2/download",
+          "sha256": "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "rustls_pemfile",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "rustls_pemfile",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "base64 0.21.0",
+              "target": "base64"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "1.0.2"
+      },
+      "license": "Apache-2.0 OR ISC OR MIT"
+    },
+    "rustversion 1.0.11": {
+      "name": "rustversion",
+      "version": "1.0.11",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/rustversion/1.0.11/download",
+          "sha256": "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
         }
       },
       "targets": [
@@ -7329,24 +5639,18 @@
           "ProcMacro": {
             "crate_name": "rustversion",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build/build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7358,14 +5662,14 @@
         "deps": {
           "common": [
             {
-              "id": "rustversion 1.0.7",
+              "id": "rustversion 1.0.11",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.7"
+        "version": "1.0.11"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -7374,13 +5678,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "ryu 1.0.10": {
+    "ryu 1.0.12": {
       "name": "ryu",
-      "version": "1.0.10",
+      "version": "1.0.12",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/ryu/1.0.10/download",
-          "sha256": "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+          "url": "https://crates.io/api/v1/crates/ryu/1.0.12/download",
+          "sha256": "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
         }
       },
       "targets": [
@@ -7388,12 +5692,9 @@
           "Library": {
             "crate_name": "ryu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7403,17 +5704,17 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.10"
+        "version": "1.0.12"
       },
       "license": "Apache-2.0 OR BSL-1.0"
     },
-    "schannel 0.1.20": {
+    "schannel 0.1.21": {
       "name": "schannel",
-      "version": "0.1.20",
+      "version": "0.1.21",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/schannel/0.1.20/download",
-          "sha256": "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
+          "url": "https://crates.io/api/v1/crates/schannel/0.1.21/download",
+          "sha256": "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
         }
       },
       "targets": [
@@ -7421,12 +5722,9 @@
           "Library": {
             "crate_name": "schannel",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7438,173 +5736,67 @@
         "deps": {
           "common": [
             {
-              "id": "lazy_static 1.4.0",
-              "target": "lazy_static"
-            },
-            {
-              "id": "windows-sys 0.36.1",
+              "id": "windows-sys 0.42.0",
               "target": "windows_sys"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.20"
+        "version": "0.1.21"
       },
       "license": "MIT"
     },
-    "scopeguard 1.1.0": {
-      "name": "scopeguard",
-      "version": "1.1.0",
+    "sct 0.7.0": {
+      "name": "sct",
+      "version": "0.7.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/scopeguard/1.1.0/download",
-          "sha256": "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+          "url": "https://crates.io/api/v1/crates/sct/0.7.0/download",
+          "sha256": "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
         }
       },
       "targets": [
         {
           "Library": {
-            "crate_name": "scopeguard",
+            "crate_name": "sct",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
-      "library_target_name": "scopeguard",
+      "library_target_name": "sct",
       "common_attrs": {
         "compile_data_glob": [
           "**"
         ],
-        "edition": "2015",
-        "version": "1.1.0"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "security-framework 2.6.1": {
-      "name": "security-framework",
-      "version": "2.6.1",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/security-framework/2.6.1/download",
-          "sha256": "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "security_framework",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "security_framework",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "OSX_10_9",
-          "default"
-        ],
         "deps": {
           "common": [
             {
-              "id": "bitflags 1.3.2",
-              "target": "bitflags"
+              "id": "ring 0.16.20",
+              "target": "ring"
             },
             {
-              "id": "core-foundation 0.9.3",
-              "target": "core_foundation"
-            },
-            {
-              "id": "core-foundation-sys 0.8.3",
-              "target": "core_foundation_sys"
-            },
-            {
-              "id": "libc 0.2.126",
-              "target": "libc"
-            },
-            {
-              "id": "security-framework-sys 2.6.1",
-              "target": "security_framework_sys"
+              "id": "untrusted 0.7.1",
+              "target": "untrusted"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "2.6.1"
+        "version": "0.7.0"
       },
-      "license": "MIT OR Apache-2.0"
+      "license": "Apache-2.0/ISC/MIT"
     },
-    "security-framework-sys 2.6.1": {
-      "name": "security-framework-sys",
-      "version": "2.6.1",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/security-framework-sys/2.6.1/download",
-          "sha256": "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "security_framework_sys",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "security_framework_sys",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "OSX_10_9",
-          "default"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "core-foundation-sys 0.8.3",
-              "target": "core_foundation_sys"
-            },
-            {
-              "id": "libc 0.2.126",
-              "target": "libc"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "2.6.1"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "serde 1.0.138": {
+    "serde 1.0.152": {
       "name": "serde",
-      "version": "1.0.138",
+      "version": "1.0.152",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/serde/1.0.138/download",
-          "sha256": "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47"
+          "url": "https://crates.io/api/v1/crates/serde/1.0.152/download",
+          "sha256": "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
         }
       },
       "targets": [
@@ -7612,24 +5804,18 @@
           "Library": {
             "crate_name": "serde",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7638,16 +5824,19 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "derive",
-          "serde_derive",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "derive",
+            "serde_derive",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "build_script_build"
             }
           ],
@@ -7657,13 +5846,13 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "serde_derive 1.0.138",
+              "id": "serde_derive 1.0.152",
               "target": "serde_derive"
             }
           ],
           "selects": {}
         },
-        "version": "1.0.138"
+        "version": "1.0.152"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -7672,13 +5861,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "serde_derive 1.0.138": {
+    "serde_derive 1.0.152": {
       "name": "serde_derive",
-      "version": "1.0.138",
+      "version": "1.0.152",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/serde_derive/1.0.138/download",
-          "sha256": "023e9b1467aef8a10fb88f25611870ada9800ef7e22afce356bb0d2387b6f27c"
+          "url": "https://crates.io/api/v1/crates/serde_derive/1.0.152/download",
+          "sha256": "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
         }
       },
       "targets": [
@@ -7686,24 +5875,18 @@
           "ProcMacro": {
             "crate_name": "serde_derive",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7712,32 +5895,35 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "serde_derive 1.0.138",
+              "id": "serde_derive 1.0.152",
               "target": "build_script_build"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "1.0.138"
+        "version": "1.0.152"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -7746,13 +5932,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "serde_json 1.0.82": {
+    "serde_json 1.0.93": {
       "name": "serde_json",
-      "version": "1.0.82",
+      "version": "1.0.93",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/serde_json/1.0.82/download",
-          "sha256": "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
+          "url": "https://crates.io/api/v1/crates/serde_json/1.0.93/download",
+          "sha256": "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
         }
       },
       "targets": [
@@ -7760,24 +5946,18 @@
           "Library": {
             "crate_name": "serde_json",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7786,33 +5966,36 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             },
             {
-              "id": "ryu 1.0.10",
+              "id": "ryu 1.0.12",
               "target": "ryu"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             },
             {
-              "id": "serde_json 1.0.82",
+              "id": "serde_json 1.0.93",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.82"
+        "version": "1.0.93"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -7835,12 +6018,9 @@
           "Library": {
             "crate_name": "serde_regex",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7852,11 +6032,11 @@
         "deps": {
           "common": [
             {
-              "id": "regex 1.6.0",
+              "id": "regex 1.7.1",
               "target": "regex"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             }
           ],
@@ -7881,12 +6061,9 @@
           "Library": {
             "crate_name": "serde_urlencoded",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7898,19 +6075,19 @@
         "deps": {
           "common": [
             {
-              "id": "form_urlencoded 1.0.1",
+              "id": "form_urlencoded 1.1.0",
               "target": "form_urlencoded"
             },
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             },
             {
-              "id": "ryu 1.0.10",
+              "id": "ryu 1.0.12",
               "target": "ryu"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             }
           ],
@@ -7921,13 +6098,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "signal-hook 0.3.14": {
+    "signal-hook 0.3.15": {
       "name": "signal-hook",
-      "version": "0.3.14",
+      "version": "0.3.15",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/signal-hook/0.3.14/download",
-          "sha256": "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d"
+          "url": "https://crates.io/api/v1/crates/signal-hook/0.3.15/download",
+          "sha256": "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
         }
       },
       "targets": [
@@ -7935,24 +6112,18 @@
           "Library": {
             "crate_name": "signal_hook",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -7961,29 +6132,32 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "channel",
-          "iterator"
-        ],
+        "crate_features": {
+          "common": [
+            "channel",
+            "iterator"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             },
             {
-              "id": "signal-hook 0.3.14",
+              "id": "signal-hook 0.3.15",
               "target": "build_script_build"
             },
             {
-              "id": "signal-hook-registry 1.4.0",
+              "id": "signal-hook-registry 1.4.1",
               "target": "signal_hook_registry"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.14"
+        "version": "0.3.15"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -7992,13 +6166,13 @@
       },
       "license": "Apache-2.0/MIT"
     },
-    "signal-hook-registry 1.4.0": {
+    "signal-hook-registry 1.4.1": {
       "name": "signal-hook-registry",
-      "version": "1.4.0",
+      "version": "1.4.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download",
-          "sha256": "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+          "url": "https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download",
+          "sha256": "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
         }
       },
       "targets": [
@@ -8006,12 +6180,9 @@
           "Library": {
             "crate_name": "signal_hook_registry",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8023,24 +6194,24 @@
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "1.4.0"
+        "version": "1.4.1"
       },
       "license": "Apache-2.0/MIT"
     },
-    "similar 2.1.0": {
+    "similar 2.2.1": {
       "name": "similar",
-      "version": "2.1.0",
+      "version": "2.2.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/similar/2.1.0/download",
-          "sha256": "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3"
+          "url": "https://crates.io/api/v1/crates/similar/2.2.1/download",
+          "sha256": "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
         }
       },
       "targets": [
@@ -8048,12 +6219,9 @@
           "Library": {
             "crate_name": "similar",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8062,59 +6230,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "text"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "text"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "2.1.0"
+        "version": "2.2.1"
       },
       "license": "Apache-2.0"
     },
-    "siphasher 0.3.10": {
-      "name": "siphasher",
-      "version": "0.3.10",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/siphasher/0.3.10/download",
-          "sha256": "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "siphasher",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "siphasher",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
-        "edition": "2018",
-        "version": "0.3.10"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "slab 0.4.6": {
+    "slab 0.4.8": {
       "name": "slab",
-      "version": "0.4.6",
+      "version": "0.4.8",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/slab/0.4.6/download",
-          "sha256": "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
+          "url": "https://crates.io/api/v1/crates/slab/0.4.8/download",
+          "sha256": "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
         }
       },
       "targets": [
@@ -8122,12 +6256,18 @@
           "Library": {
             "crate_name": "slab",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8136,12 +6276,38 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "slab 0.4.8",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.4.6"
+        "version": "0.4.8"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
       },
       "license": "MIT"
     },
@@ -8159,12 +6325,9 @@
           "Library": {
             "crate_name": "sluice",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8176,15 +6339,15 @@
         "deps": {
           "common": [
             {
-              "id": "async-channel 1.6.1",
+              "id": "async-channel 1.8.0",
               "target": "async_channel"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-io 0.3.21",
+              "id": "futures-io 0.3.26",
               "target": "futures_io"
             }
           ],
@@ -8195,46 +6358,13 @@
       },
       "license": "MIT"
     },
-    "smallvec 1.9.0": {
-      "name": "smallvec",
-      "version": "1.9.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/smallvec/1.9.0/download",
-          "sha256": "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "smallvec",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "smallvec",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "version": "1.9.0"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "socket2 0.4.4": {
+    "socket2 0.4.9": {
       "name": "socket2",
-      "version": "0.4.4",
+      "version": "0.4.9",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/socket2/0.4.4/download",
-          "sha256": "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+          "url": "https://crates.io/api/v1/crates/socket2/0.4.9/download",
+          "sha256": "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
         }
       },
       "targets": [
@@ -8242,12 +6372,9 @@
           "Library": {
             "crate_name": "socket2",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8256,15 +6383,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "all"
-        ],
+        "crate_features": {
+          "common": [
+            "all"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [],
           "selects": {
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
@@ -8277,75 +6407,47 @@
           }
         },
         "edition": "2018",
-        "version": "0.4.4"
+        "version": "0.4.9"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "string_cache 0.8.4": {
-      "name": "string_cache",
-      "version": "0.8.4",
+    "spin 0.5.2": {
+      "name": "spin",
+      "version": "0.5.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/string_cache/0.8.4/download",
-          "sha256": "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08"
+          "url": "https://crates.io/api/v1/crates/spin/0.5.2/download",
+          "sha256": "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
         }
       },
       "targets": [
         {
           "Library": {
-            "crate_name": "string_cache",
+            "crate_name": "spin",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
-      "library_target_name": "string_cache",
+      "library_target_name": "spin",
       "common_attrs": {
         "compile_data_glob": [
           "**"
         ],
-        "deps": {
-          "common": [
-            {
-              "id": "new_debug_unreachable 1.0.4",
-              "target": "debug_unreachable"
-            },
-            {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
-            },
-            {
-              "id": "parking_lot 0.12.1",
-              "target": "parking_lot"
-            },
-            {
-              "id": "phf_shared 0.10.0",
-              "target": "phf_shared"
-            },
-            {
-              "id": "precomputed-hash 0.1.1",
-              "target": "precomputed_hash"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "0.8.4"
+        "edition": "2015",
+        "version": "0.5.2"
       },
-      "license": "MIT / Apache-2.0"
+      "license": "MIT"
     },
-    "syn 1.0.98": {
+    "syn 1.0.109": {
       "name": "syn",
-      "version": "1.0.98",
+      "version": "1.0.109",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/syn/1.0.98/download",
-          "sha256": "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+          "url": "https://crates.io/api/v1/crates/syn/1.0.109/download",
+          "sha256": "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
         }
       },
       "targets": [
@@ -8353,24 +6455,18 @@
           "Library": {
             "crate_name": "syn",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8379,42 +6475,45 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "clone-impls",
-          "default",
-          "derive",
-          "extra-traits",
-          "full",
-          "parsing",
-          "printing",
-          "proc-macro",
-          "quote",
-          "visit",
-          "visit-mut"
-        ],
+        "crate_features": {
+          "common": [
+            "clone-impls",
+            "default",
+            "derive",
+            "extra-traits",
+            "full",
+            "parsing",
+            "printing",
+            "proc-macro",
+            "quote",
+            "visit",
+            "visit-mut"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "build_script_build"
             },
             {
-              "id": "unicode-ident 1.0.1",
+              "id": "unicode-ident 1.0.6",
               "target": "unicode_ident"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.98"
+        "version": "1.0.109"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -8423,297 +6522,6 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "tempfile 3.3.0": {
-      "name": "tempfile",
-      "version": "3.3.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/tempfile/3.3.0/download",
-          "sha256": "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "tempfile",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "tempfile",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "cfg-if 1.0.0",
-              "target": "cfg_if"
-            },
-            {
-              "id": "fastrand 1.7.0",
-              "target": "fastrand"
-            },
-            {
-              "id": "remove_dir_all 0.5.3",
-              "target": "remove_dir_all"
-            }
-          ],
-          "selects": {
-            "cfg(any(unix, target_os = \"wasi\"))": [
-              {
-                "id": "libc 0.2.126",
-                "target": "libc"
-              }
-            ],
-            "cfg(target_os = \"redox\")": [
-              {
-                "id": "redox_syscall 0.2.13",
-                "target": "syscall"
-              }
-            ],
-            "cfg(windows)": [
-              {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
-              }
-            ]
-          }
-        },
-        "edition": "2018",
-        "version": "3.3.0"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "term 0.7.0": {
-      "name": "term",
-      "version": "0.7.0",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/term/0.7.0/download",
-          "sha256": "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "term",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "term",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "dirs-next 2.0.0",
-              "target": "dirs_next"
-            }
-          ],
-          "selects": {
-            "cfg(windows)": [
-              {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
-              }
-            ]
-          }
-        },
-        "edition": "2018",
-        "proc_macro_deps": {
-          "common": [],
-          "selects": {
-            "cfg(windows)": [
-              {
-                "id": "rustversion 1.0.7",
-                "target": "rustversion"
-              }
-            ]
-          }
-        },
-        "version": "0.7.0"
-      },
-      "license": "MIT/Apache-2.0"
-    },
-    "thiserror 1.0.31": {
-      "name": "thiserror",
-      "version": "1.0.31",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/thiserror/1.0.31/download",
-          "sha256": "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "thiserror",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "thiserror",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2018",
-        "proc_macro_deps": {
-          "common": [
-            {
-              "id": "thiserror-impl 1.0.31",
-              "target": "thiserror_impl"
-            }
-          ],
-          "selects": {}
-        },
-        "version": "1.0.31"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "thiserror-impl 1.0.31": {
-      "name": "thiserror-impl",
-      "version": "1.0.31",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/thiserror-impl/1.0.31/download",
-          "sha256": "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
-        }
-      },
-      "targets": [
-        {
-          "ProcMacro": {
-            "crate_name": "thiserror_impl",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "thiserror_impl",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "proc-macro2 1.0.40",
-              "target": "proc_macro2"
-            },
-            {
-              "id": "quote 1.0.20",
-              "target": "quote"
-            },
-            {
-              "id": "syn 1.0.98",
-              "target": "syn"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "1.0.31"
-      },
-      "license": "MIT OR Apache-2.0"
-    },
-    "tiny-keccak 2.0.2": {
-      "name": "tiny-keccak",
-      "version": "2.0.2",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/tiny-keccak/2.0.2/download",
-          "sha256": "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "tiny_keccak",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        },
-        {
-          "BuildScript": {
-            "crate_name": "build_script_build",
-            "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "tiny_keccak",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "crate_features": [
-          "default",
-          "sha3"
-        ],
-        "deps": {
-          "common": [
-            {
-              "id": "crunchy 0.2.2",
-              "target": "crunchy"
-            },
-            {
-              "id": "tiny-keccak 2.0.2",
-              "target": "build_script_build"
-            }
-          ],
-          "selects": {}
-        },
-        "edition": "2018",
-        "version": "2.0.2"
-      },
-      "build_script_attrs": {
-        "data_glob": [
-          "**"
-        ]
-      },
-      "license": "CC0-1.0"
-    },
     "tinyvec 1.6.0": {
       "name": "tinyvec",
       "version": "1.6.0",
@@ -8728,12 +6536,9 @@
           "Library": {
             "crate_name": "tinyvec",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8742,15 +6547,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "tinyvec_macros"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "tinyvec_macros"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "tinyvec_macros 0.1.0",
+              "id": "tinyvec_macros 0.1.1",
               "target": "tinyvec_macros"
             }
           ],
@@ -8761,13 +6569,13 @@
       },
       "license": "Zlib OR Apache-2.0 OR MIT"
     },
-    "tinyvec_macros 0.1.0": {
+    "tinyvec_macros 0.1.1": {
       "name": "tinyvec_macros",
-      "version": "0.1.0",
+      "version": "0.1.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download",
-          "sha256": "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+          "url": "https://crates.io/api/v1/crates/tinyvec_macros/0.1.1/download",
+          "sha256": "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
         }
       },
       "targets": [
@@ -8775,12 +6583,9 @@
           "Library": {
             "crate_name": "tinyvec_macros",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8790,17 +6595,17 @@
           "**"
         ],
         "edition": "2018",
-        "version": "0.1.0"
+        "version": "0.1.1"
       },
       "license": "MIT OR Apache-2.0 OR Zlib"
     },
-    "tokio 1.19.2": {
+    "tokio 1.26.0": {
       "name": "tokio",
-      "version": "1.19.2",
+      "version": "1.26.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tokio/1.19.2/download",
-          "sha256": "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
+          "url": "https://crates.io/api/v1/crates/tokio/1.26.0/download",
+          "sha256": "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
         }
       },
       "targets": [
@@ -8808,12 +6613,18 @@
           "Library": {
             "crate_name": "tokio",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8822,31 +6633,33 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "bytes",
-          "default",
-          "io-util",
-          "libc",
-          "macros",
-          "memchr",
-          "mio",
-          "net",
-          "num_cpus",
-          "once_cell",
-          "rt",
-          "rt-multi-thread",
-          "signal",
-          "signal-hook-registry",
-          "socket2",
-          "sync",
-          "time",
-          "tokio-macros",
-          "winapi"
-        ],
+        "crate_features": {
+          "common": [
+            "bytes",
+            "default",
+            "io-util",
+            "libc",
+            "macros",
+            "memchr",
+            "mio",
+            "net",
+            "num_cpus",
+            "rt",
+            "rt-multi-thread",
+            "signal",
+            "signal-hook-registry",
+            "socket2",
+            "sync",
+            "time",
+            "tokio-macros",
+            "windows-sys"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
@@ -8854,41 +6667,49 @@
               "target": "memchr"
             },
             {
-              "id": "mio 0.8.4",
+              "id": "mio 0.8.6",
               "target": "mio"
             },
             {
-              "id": "num_cpus 1.13.1",
+              "id": "num_cpus 1.15.0",
               "target": "num_cpus"
             },
             {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
-            },
-            {
               "id": "pin-project-lite 0.2.9",
               "target": "pin_project_lite"
             },
             {
-              "id": "socket2 0.4.4",
-              "target": "socket2"
+              "id": "tokio 1.26.0",
+              "target": "build_script_build"
             }
           ],
           "selects": {
+            "cfg(docsrs)": [
+              {
+                "id": "windows-sys 0.45.0",
+                "target": "windows_sys"
+              }
+            ],
+            "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": [
+              {
+                "id": "socket2 0.4.9",
+                "target": "socket2"
+              }
+            ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               },
               {
-                "id": "signal-hook-registry 1.4.0",
+                "id": "signal-hook-registry 1.4.1",
                 "target": "signal_hook_registry"
               }
             ],
             "cfg(windows)": [
               {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
+                "id": "windows-sys 0.45.0",
+                "target": "windows_sys"
               }
             ]
           }
@@ -8897,23 +6718,37 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "tokio-macros 1.8.0",
+              "id": "tokio-macros 1.8.2",
               "target": "tokio_macros"
             }
           ],
           "selects": {}
         },
-        "version": "1.19.2"
+        "version": "1.26.0"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
       },
       "license": "MIT"
     },
-    "tokio-macros 1.8.0": {
+    "tokio-macros 1.8.2": {
       "name": "tokio-macros",
-      "version": "1.8.0",
+      "version": "1.8.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tokio-macros/1.8.0/download",
-          "sha256": "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
+          "url": "https://crates.io/api/v1/crates/tokio-macros/1.8.2/download",
+          "sha256": "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
         }
       },
       "targets": [
@@ -8921,12 +6756,9 @@
           "ProcMacro": {
             "crate_name": "tokio_macros",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -8938,78 +6770,87 @@
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.8.0"
+        "version": "1.8.2"
       },
       "license": "MIT"
     },
-    "tokio-native-tls 0.3.0": {
-      "name": "tokio-native-tls",
-      "version": "0.3.0",
+    "tokio-rustls 0.23.4": {
+      "name": "tokio-rustls",
+      "version": "0.23.4",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tokio-native-tls/0.3.0/download",
-          "sha256": "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
+          "url": "https://crates.io/api/v1/crates/tokio-rustls/0.23.4/download",
+          "sha256": "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
         }
       },
       "targets": [
         {
           "Library": {
-            "crate_name": "tokio_native_tls",
+            "crate_name": "tokio_rustls",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
-      "library_target_name": "tokio_native_tls",
+      "library_target_name": "tokio_rustls",
       "common_attrs": {
         "compile_data_glob": [
           "**"
         ],
+        "crate_features": {
+          "common": [
+            "default",
+            "logging",
+            "tls12"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "native-tls 0.2.10",
-              "target": "native_tls"
+              "id": "rustls 0.20.8",
+              "target": "rustls"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
+            },
+            {
+              "id": "webpki 0.22.0",
+              "target": "webpki"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.0"
+        "version": "0.23.4"
       },
-      "license": "MIT"
+      "license": "MIT/Apache-2.0"
     },
-    "tokio-util 0.7.3": {
+    "tokio-util 0.7.7": {
       "name": "tokio-util",
-      "version": "0.7.3",
+      "version": "0.7.7",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tokio-util/0.7.3/download",
-          "sha256": "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
+          "url": "https://crates.io/api/v1/crates/tokio-util/0.7.7/download",
+          "sha256": "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
         }
       },
       "targets": [
@@ -9017,12 +6858,9 @@
           "Library": {
             "crate_name": "tokio_util",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9031,23 +6869,26 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "codec",
-          "default",
-          "tracing"
-        ],
+        "crate_features": {
+          "common": [
+            "codec",
+            "default",
+            "tracing"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-sink 0.3.21",
+              "id": "futures-sink 0.3.26",
               "target": "futures_sink"
             },
             {
@@ -9055,21 +6896,104 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.7.3"
+        "version": "0.7.7"
       },
       "license": "MIT"
     },
+    "toml_datetime 0.6.1": {
+      "name": "toml_datetime",
+      "version": "0.6.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/toml_datetime/0.6.1/download",
+          "sha256": "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "toml_datetime",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "toml_datetime",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "edition": "2021",
+        "version": "0.6.1"
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "toml_edit 0.19.4": {
+      "name": "toml_edit",
+      "version": "0.19.4",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/toml_edit/0.19.4/download",
+          "sha256": "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "toml_edit",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "toml_edit",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "indexmap 1.9.2",
+              "target": "indexmap"
+            },
+            {
+              "id": "toml_datetime 0.6.1",
+              "target": "toml_datetime"
+            },
+            {
+              "id": "winnow 0.3.3",
+              "target": "winnow"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "0.19.4"
+      },
+      "license": "MIT OR Apache-2.0"
+    },
     "tower-service 0.3.2": {
       "name": "tower-service",
       "version": "0.3.2",
@@ -9084,12 +7008,9 @@
           "Library": {
             "crate_name": "tower_service",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9103,13 +7024,13 @@
       },
       "license": "MIT"
     },
-    "tracing 0.1.35": {
+    "tracing 0.1.37": {
       "name": "tracing",
-      "version": "0.1.35",
+      "version": "0.1.37",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tracing/0.1.35/download",
-          "sha256": "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
+          "url": "https://crates.io/api/v1/crates/tracing/0.1.37/download",
+          "sha256": "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
         }
       },
       "targets": [
@@ -9117,12 +7038,9 @@
           "Library": {
             "crate_name": "tracing",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9131,13 +7049,16 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "attributes",
-          "default",
-          "log",
-          "std",
-          "tracing-attributes"
-        ],
+        "crate_features": {
+          "common": [
+            "attributes",
+            "default",
+            "log",
+            "std",
+            "tracing-attributes"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -9153,7 +7074,7 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "tracing-core 0.1.28",
+              "id": "tracing-core 0.1.30",
               "target": "tracing_core"
             }
           ],
@@ -9163,23 +7084,23 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "tracing-attributes 0.1.22",
+              "id": "tracing-attributes 0.1.23",
               "target": "tracing_attributes"
             }
           ],
           "selects": {}
         },
-        "version": "0.1.35"
+        "version": "0.1.37"
       },
       "license": "MIT"
     },
-    "tracing-attributes 0.1.22": {
+    "tracing-attributes 0.1.23": {
       "name": "tracing-attributes",
-      "version": "0.1.22",
+      "version": "0.1.23",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tracing-attributes/0.1.22/download",
-          "sha256": "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
+          "url": "https://crates.io/api/v1/crates/tracing-attributes/0.1.23/download",
+          "sha256": "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
         }
       },
       "targets": [
@@ -9187,12 +7108,9 @@
           "ProcMacro": {
             "crate_name": "tracing_attributes",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9204,32 +7122,32 @@
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.22"
+        "version": "0.1.23"
       },
       "license": "MIT"
     },
-    "tracing-core 0.1.28": {
+    "tracing-core 0.1.30": {
       "name": "tracing-core",
-      "version": "0.1.28",
+      "version": "0.1.30",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tracing-core/0.1.28/download",
-          "sha256": "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7"
+          "url": "https://crates.io/api/v1/crates/tracing-core/0.1.30/download",
+          "sha256": "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
         }
       },
       "targets": [
@@ -9237,12 +7155,9 @@
           "Library": {
             "crate_name": "tracing_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9251,21 +7166,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "once_cell",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "once_cell",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "once_cell 1.13.0",
+              "id": "once_cell 1.17.1",
               "target": "once_cell"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.28"
+        "version": "0.1.30"
       },
       "license": "MIT"
     },
@@ -9283,12 +7201,9 @@
           "Library": {
             "crate_name": "tracing_futures",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9297,19 +7212,22 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "pin-project",
-          "std",
-          "std-future"
-        ],
+        "crate_features": {
+          "common": [
+            "pin-project",
+            "std",
+            "std-future"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "pin-project 1.0.11",
+              "id": "pin-project 1.0.12",
               "target": "pin_project"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             }
           ],
@@ -9320,13 +7238,13 @@
       },
       "license": "MIT"
     },
-    "try-lock 0.2.3": {
+    "try-lock 0.2.4": {
       "name": "try-lock",
-      "version": "0.2.3",
+      "version": "0.2.4",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/try-lock/0.2.3/download",
-          "sha256": "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+          "url": "https://crates.io/api/v1/crates/try-lock/0.2.4/download",
+          "sha256": "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
         }
       },
       "targets": [
@@ -9334,12 +7252,9 @@
           "Library": {
             "crate_name": "try_lock",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9349,17 +7264,17 @@
           "**"
         ],
         "edition": "2015",
-        "version": "0.2.3"
+        "version": "0.2.4"
       },
       "license": "MIT"
     },
-    "typenum 1.15.0": {
+    "typenum 1.16.0": {
       "name": "typenum",
-      "version": "1.15.0",
+      "version": "1.16.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/typenum/1.15.0/download",
-          "sha256": "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+          "url": "https://crates.io/api/v1/crates/typenum/1.16.0/download",
+          "sha256": "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
         }
       },
       "targets": [
@@ -9367,24 +7282,18 @@
           "Library": {
             "crate_name": "typenum",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_main",
             "crate_root": "build/main.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9396,14 +7305,14 @@
         "deps": {
           "common": [
             {
-              "id": "typenum 1.15.0",
+              "id": "typenum 1.16.0",
               "target": "build_script_main"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.15.0"
+        "version": "1.16.0"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -9412,13 +7321,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "unicode-bidi 0.3.8": {
+    "unicode-bidi 0.3.10": {
       "name": "unicode-bidi",
-      "version": "0.3.8",
+      "version": "0.3.10",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download",
-          "sha256": "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+          "url": "https://crates.io/api/v1/crates/unicode-bidi/0.3.10/download",
+          "sha256": "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
         }
       },
       "targets": [
@@ -9426,12 +7335,9 @@
           "Library": {
             "crate_name": "unicode_bidi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9440,23 +7346,26 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "hardcoded-data",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "hardcoded-data",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.3.8"
+        "version": "0.3.10"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "unicode-ident 1.0.1": {
+    "unicode-ident 1.0.6": {
       "name": "unicode-ident",
-      "version": "1.0.1",
+      "version": "1.0.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/unicode-ident/1.0.1/download",
-          "sha256": "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+          "url": "https://crates.io/api/v1/crates/unicode-ident/1.0.6/download",
+          "sha256": "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
         }
       },
       "targets": [
@@ -9464,12 +7373,9 @@
           "Library": {
             "crate_name": "unicode_ident",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9479,17 +7385,17 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.1"
+        "version": "1.0.6"
       },
-      "license": "MIT OR Apache-2.0"
+      "license": "(MIT OR Apache-2.0) AND Unicode-DFS-2016"
     },
-    "unicode-normalization 0.1.21": {
+    "unicode-normalization 0.1.22": {
       "name": "unicode-normalization",
-      "version": "0.1.21",
+      "version": "0.1.22",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/unicode-normalization/0.1.21/download",
-          "sha256": "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
+          "url": "https://crates.io/api/v1/crates/unicode-normalization/0.1.22/download",
+          "sha256": "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
         }
       },
       "targets": [
@@ -9497,12 +7403,9 @@
           "Library": {
             "crate_name": "unicode_normalization",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9511,10 +7414,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -9525,50 +7431,47 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.21"
+        "version": "0.1.22"
       },
       "license": "MIT/Apache-2.0"
     },
-    "unicode-xid 0.2.3": {
-      "name": "unicode-xid",
-      "version": "0.2.3",
+    "untrusted 0.7.1": {
+      "name": "untrusted",
+      "version": "0.7.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/unicode-xid/0.2.3/download",
-          "sha256": "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
+          "url": "https://crates.io/api/v1/crates/untrusted/0.7.1/download",
+          "sha256": "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
         }
       },
       "targets": [
         {
           "Library": {
-            "crate_name": "unicode_xid",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "crate_name": "untrusted",
+            "crate_root": "src/untrusted.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
-      "library_target_name": "unicode_xid",
+      "library_target_name": "untrusted",
       "common_attrs": {
         "compile_data_glob": [
           "**"
         ],
-        "edition": "2015",
-        "version": "0.2.3"
+        "edition": "2018",
+        "version": "0.7.1"
       },
-      "license": "MIT OR Apache-2.0"
+      "license": "ISC"
     },
-    "url 2.2.2": {
+    "url 2.3.1": {
       "name": "url",
-      "version": "2.2.2",
+      "version": "2.3.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/url/2.2.2/download",
-          "sha256": "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+          "url": "https://crates.io/api/v1/crates/url/2.3.1/download",
+          "sha256": "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
         }
       },
       "targets": [
@@ -9576,12 +7479,9 @@
           "Library": {
             "crate_name": "url",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9590,31 +7490,33 @@
         "compile_data_glob": [
           "**"
         ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "form_urlencoded 1.0.1",
+              "id": "form_urlencoded 1.1.0",
               "target": "form_urlencoded"
             },
             {
-              "id": "idna 0.2.3",
+              "id": "idna 0.3.0",
               "target": "idna"
             },
             {
-              "id": "matches 0.1.9",
-              "target": "matches"
-            },
-            {
-              "id": "percent-encoding 2.1.0",
+              "id": "percent-encoding 2.2.0",
               "target": "percent_encoding"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "2.2.2"
+        "version": "2.3.1"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
     "value-bag 1.0.0-alpha.9": {
       "name": "value-bag",
@@ -9630,24 +7532,18 @@
           "Library": {
             "crate_name": "value_bag",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9669,7 +7565,7 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "ctor 0.1.22",
+              "id": "ctor 0.1.26",
               "target": "ctor"
             }
           ],
@@ -9708,12 +7604,9 @@
           "Library": {
             "crate_name": "vcpkg",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9741,12 +7634,9 @@
           "Library": {
             "crate_name": "version_check",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9774,12 +7664,9 @@
           "Library": {
             "crate_name": "waker_fn",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9807,12 +7694,9 @@
           "Library": {
             "crate_name": "want",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9828,7 +7712,7 @@
               "target": "log"
             },
             {
-              "id": "try-lock 0.2.3",
+              "id": "try-lock 0.2.4",
               "target": "try_lock"
             }
           ],
@@ -9853,12 +7737,9 @@
           "Library": {
             "crate_name": "wasi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9867,22 +7748,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "0.11.0+wasi-snapshot-preview1"
       },
       "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT"
     },
-    "wasm-bindgen 0.2.81": {
+    "wasm-bindgen 0.2.84": {
       "name": "wasm-bindgen",
-      "version": "0.2.81",
+      "version": "0.2.84",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/wasm-bindgen/0.2.81/download",
-          "sha256": "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994"
+          "url": "https://crates.io/api/v1/crates/wasm-bindgen/0.2.84/download",
+          "sha256": "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
         }
       },
       "targets": [
@@ -9890,24 +7774,18 @@
           "Library": {
             "crate_name": "wasm_bindgen",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9916,11 +7794,14 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "spans",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "spans",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -9928,7 +7809,7 @@
               "target": "cfg_if"
             },
             {
-              "id": "wasm-bindgen 0.2.81",
+              "id": "wasm-bindgen 0.2.84",
               "target": "build_script_build"
             }
           ],
@@ -9938,13 +7819,13 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "wasm-bindgen-macro 0.2.81",
+              "id": "wasm-bindgen-macro 0.2.84",
               "target": "wasm_bindgen_macro"
             }
           ],
           "selects": {}
         },
-        "version": "0.2.81"
+        "version": "0.2.84"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -9953,13 +7834,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "wasm-bindgen-backend 0.2.81": {
+    "wasm-bindgen-backend 0.2.84": {
       "name": "wasm-bindgen-backend",
-      "version": "0.2.81",
+      "version": "0.2.84",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.81/download",
-          "sha256": "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a"
+          "url": "https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.84/download",
+          "sha256": "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
         }
       },
       "targets": [
@@ -9967,12 +7848,9 @@
           "Library": {
             "crate_name": "wasm_bindgen_backend",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -9981,54 +7859,57 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "spans"
-        ],
+        "crate_features": {
+          "common": [
+            "spans"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "bumpalo 3.10.0",
+              "id": "bumpalo 3.12.0",
               "target": "bumpalo"
             },
             {
-              "id": "lazy_static 1.4.0",
-              "target": "lazy_static"
-            },
-            {
               "id": "log 0.4.17",
               "target": "log"
             },
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "once_cell 1.17.1",
+              "target": "once_cell"
+            },
+            {
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             },
             {
-              "id": "wasm-bindgen-shared 0.2.81",
+              "id": "wasm-bindgen-shared 0.2.84",
               "target": "wasm_bindgen_shared"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.81"
+        "version": "0.2.84"
       },
       "license": "MIT/Apache-2.0"
     },
-    "wasm-bindgen-futures 0.4.31": {
+    "wasm-bindgen-futures 0.4.34": {
       "name": "wasm-bindgen-futures",
-      "version": "0.4.31",
+      "version": "0.4.34",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/wasm-bindgen-futures/0.4.31/download",
-          "sha256": "de9a9cec1733468a8c657e57fa2413d2ae2c0129b95e87c5b72b8ace4d13f31f"
+          "url": "https://crates.io/api/v1/crates/wasm-bindgen-futures/0.4.34/download",
+          "sha256": "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
         }
       },
       "targets": [
@@ -10036,12 +7917,9 @@
           "Library": {
             "crate_name": "wasm_bindgen_futures",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10057,35 +7935,35 @@
               "target": "cfg_if"
             },
             {
-              "id": "js-sys 0.3.58",
+              "id": "js-sys 0.3.61",
               "target": "js_sys"
             },
             {
-              "id": "wasm-bindgen 0.2.81",
+              "id": "wasm-bindgen 0.2.84",
               "target": "wasm_bindgen"
             }
           ],
           "selects": {
             "cfg(target_feature = \"atomics\")": [
               {
-                "id": "web-sys 0.3.58",
+                "id": "web-sys 0.3.61",
                 "target": "web_sys"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "0.4.31"
+        "version": "0.4.34"
       },
       "license": "MIT/Apache-2.0"
     },
-    "wasm-bindgen-macro 0.2.81": {
+    "wasm-bindgen-macro 0.2.84": {
       "name": "wasm-bindgen-macro",
-      "version": "0.2.81",
+      "version": "0.2.84",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.81/download",
-          "sha256": "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa"
+          "url": "https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.84/download",
+          "sha256": "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
         }
       },
       "targets": [
@@ -10093,12 +7971,9 @@
           "ProcMacro": {
             "crate_name": "wasm_bindgen_macro",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10107,34 +7982,37 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "spans"
-        ],
+        "crate_features": {
+          "common": [
+            "spans"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "wasm-bindgen-macro-support 0.2.81",
+              "id": "wasm-bindgen-macro-support 0.2.84",
               "target": "wasm_bindgen_macro_support"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.81"
+        "version": "0.2.84"
       },
       "license": "MIT/Apache-2.0"
     },
-    "wasm-bindgen-macro-support 0.2.81": {
+    "wasm-bindgen-macro-support 0.2.84": {
       "name": "wasm-bindgen-macro-support",
-      "version": "0.2.81",
+      "version": "0.2.84",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.81/download",
-          "sha256": "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048"
+          "url": "https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.84/download",
+          "sha256": "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
         }
       },
       "targets": [
@@ -10142,12 +8020,9 @@
           "Library": {
             "crate_name": "wasm_bindgen_macro_support",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10156,46 +8031,49 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "spans"
-        ],
+        "crate_features": {
+          "common": [
+            "spans"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             },
             {
-              "id": "wasm-bindgen-backend 0.2.81",
+              "id": "wasm-bindgen-backend 0.2.84",
               "target": "wasm_bindgen_backend"
             },
             {
-              "id": "wasm-bindgen-shared 0.2.81",
+              "id": "wasm-bindgen-shared 0.2.84",
               "target": "wasm_bindgen_shared"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.81"
+        "version": "0.2.84"
       },
       "license": "MIT/Apache-2.0"
     },
-    "wasm-bindgen-shared 0.2.81": {
+    "wasm-bindgen-shared 0.2.84": {
       "name": "wasm-bindgen-shared",
-      "version": "0.2.81",
+      "version": "0.2.84",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.81/download",
-          "sha256": "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be"
+          "url": "https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.84/download",
+          "sha256": "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
         }
       },
       "targets": [
@@ -10203,24 +8081,18 @@
           "Library": {
             "crate_name": "wasm_bindgen_shared",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10232,14 +8104,14 @@
         "deps": {
           "common": [
             {
-              "id": "wasm-bindgen-shared 0.2.81",
+              "id": "wasm-bindgen-shared 0.2.84",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.81"
+        "version": "0.2.84"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -10249,13 +8121,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "web-sys 0.3.58": {
+    "web-sys 0.3.61": {
       "name": "web-sys",
-      "version": "0.3.58",
+      "version": "0.3.61",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/web-sys/0.3.58/download",
-          "sha256": "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90"
+          "url": "https://crates.io/api/v1/crates/web-sys/0.3.61/download",
+          "sha256": "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
         }
       },
       "targets": [
@@ -10263,12 +8135,9 @@
           "Library": {
             "crate_name": "web_sys",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10277,43 +8146,137 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "Blob",
-          "BlobPropertyBag",
-          "Event",
-          "EventTarget",
-          "File",
-          "FormData",
-          "Headers",
-          "MessageEvent",
-          "Request",
-          "RequestCredentials",
-          "RequestInit",
-          "RequestMode",
-          "Response",
-          "ServiceWorkerGlobalScope",
-          "Window",
-          "Worker",
-          "WorkerGlobalScope"
-        ],
+        "crate_features": {
+          "common": [
+            "Blob",
+            "BlobPropertyBag",
+            "Crypto",
+            "Event",
+            "EventTarget",
+            "File",
+            "FormData",
+            "Headers",
+            "MessageEvent",
+            "ReadableStream",
+            "Request",
+            "RequestCredentials",
+            "RequestInit",
+            "RequestMode",
+            "Response",
+            "ServiceWorkerGlobalScope",
+            "Window",
+            "Worker",
+            "WorkerGlobalScope"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "js-sys 0.3.58",
+              "id": "js-sys 0.3.61",
               "target": "js_sys"
             },
             {
-              "id": "wasm-bindgen 0.2.81",
+              "id": "wasm-bindgen 0.2.84",
               "target": "wasm_bindgen"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.58"
+        "version": "0.3.61"
       },
       "license": "MIT/Apache-2.0"
     },
+    "webpki 0.22.0": {
+      "name": "webpki",
+      "version": "0.22.0",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/webpki/0.22.0/download",
+          "sha256": "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "webpki",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "webpki",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "std"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "ring 0.16.20",
+              "target": "ring"
+            },
+            {
+              "id": "untrusted 0.7.1",
+              "target": "untrusted"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.22.0"
+      },
+      "license": null
+    },
+    "webpki-roots 0.22.6": {
+      "name": "webpki-roots",
+      "version": "0.22.6",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/webpki-roots/0.22.6/download",
+          "sha256": "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "webpki_roots",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "webpki_roots",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "webpki 0.22.0",
+              "target": "webpki"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.22.6"
+      },
+      "license": "MPL-2.0"
+    },
     "wepoll-ffi 0.1.2": {
       "name": "wepoll-ffi",
       "version": "0.1.2",
@@ -10328,24 +8291,18 @@
           "Library": {
             "crate_name": "wepoll_ffi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10354,9 +8311,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "null-overlapped-wakeups-patch"
-        ],
+        "crate_features": {
+          "common": [
+            "null-overlapped-wakeups-patch"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -10377,7 +8337,7 @@
         "deps": {
           "common": [
             {
-              "id": "cc 1.0.73",
+              "id": "cc 1.0.79",
               "target": "cc"
             }
           ],
@@ -10400,24 +8360,18 @@
           "Library": {
             "crate_name": "winapi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10426,36 +8380,28 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "consoleapi",
-          "errhandlingapi",
-          "fileapi",
-          "handleapi",
-          "impl-debug",
-          "impl-default",
-          "ioapiset",
-          "knownfolders",
-          "libloaderapi",
-          "minwinbase",
-          "minwindef",
-          "mswsock",
-          "namedpipeapi",
-          "objbase",
-          "processenv",
-          "shlobj",
-          "std",
-          "timezoneapi",
-          "winbase",
-          "wincon",
-          "wincrypt",
-          "winerror",
-          "winnt",
-          "winreg",
-          "winsock2",
-          "ws2def",
-          "ws2ipdef",
-          "ws2tcpip"
-        ],
+        "crate_features": {
+          "common": [
+            "handleapi",
+            "impl-debug",
+            "impl-default",
+            "libloaderapi",
+            "minwinbase",
+            "minwindef",
+            "ntsecapi",
+            "timezoneapi",
+            "wincrypt",
+            "winerror",
+            "winnt",
+            "winreg",
+            "winsock2",
+            "ws2def",
+            "ws2ipdef",
+            "ws2tcpip",
+            "wtypesbase"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -10502,24 +8448,18 @@
           "Library": {
             "crate_name": "winapi_i686_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10561,24 +8501,18 @@
           "Library": {
             "crate_name": "winapi_x86_64_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10606,13 +8540,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "windows-sys 0.36.1": {
+    "windows-sys 0.42.0": {
       "name": "windows-sys",
-      "version": "0.36.1",
+      "version": "0.42.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows-sys/0.36.1/download",
-          "sha256": "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+          "url": "https://crates.io/api/v1/crates/windows-sys/0.42.0/download",
+          "sha256": "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
         }
       },
       "targets": [
@@ -10620,12 +8554,9 @@
           "Library": {
             "crate_name": "windows_sys",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10634,104 +8565,336 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "Win32",
-          "Win32_Foundation",
-          "Win32_Networking",
-          "Win32_Networking_WinSock",
-          "Win32_Security",
-          "Win32_Security_Authentication",
-          "Win32_Security_Authentication_Identity",
-          "Win32_Security_Credentials",
-          "Win32_Security_Cryptography",
-          "Win32_Storage",
-          "Win32_Storage_FileSystem",
-          "Win32_System",
-          "Win32_System_IO",
-          "Win32_System_LibraryLoader",
-          "Win32_System_Memory",
-          "Win32_System_Pipes",
-          "Win32_System_SystemServices",
-          "Win32_System_WindowsProgramming",
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "Win32",
+            "Win32_Foundation",
+            "Win32_Networking",
+            "Win32_Networking_WinSock",
+            "Win32_Security",
+            "Win32_Security_Authentication",
+            "Win32_Security_Authentication_Identity",
+            "Win32_Security_Credentials",
+            "Win32_Security_Cryptography",
+            "Win32_System",
+            "Win32_System_IO",
+            "Win32_System_Memory",
+            "Win32_System_Threading",
+            "Win32_System_WindowsProgramming",
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [],
           "selects": {
+            "aarch64-pc-windows-gnullvm": [
+              {
+                "id": "windows_aarch64_gnullvm 0.42.1",
+                "target": "windows_aarch64_gnullvm"
+              }
+            ],
             "aarch64-pc-windows-msvc": [
               {
-                "id": "windows_aarch64_msvc 0.36.1",
+                "id": "windows_aarch64_msvc 0.42.1",
                 "target": "windows_aarch64_msvc"
               }
             ],
             "aarch64-uwp-windows-msvc": [
               {
-                "id": "windows_aarch64_msvc 0.36.1",
+                "id": "windows_aarch64_msvc 0.42.1",
                 "target": "windows_aarch64_msvc"
               }
             ],
             "i686-pc-windows-gnu": [
               {
-                "id": "windows_i686_gnu 0.36.1",
+                "id": "windows_i686_gnu 0.42.1",
                 "target": "windows_i686_gnu"
               }
             ],
             "i686-pc-windows-msvc": [
               {
-                "id": "windows_i686_msvc 0.36.1",
+                "id": "windows_i686_msvc 0.42.1",
                 "target": "windows_i686_msvc"
               }
             ],
             "i686-uwp-windows-gnu": [
               {
-                "id": "windows_i686_gnu 0.36.1",
+                "id": "windows_i686_gnu 0.42.1",
                 "target": "windows_i686_gnu"
               }
             ],
             "i686-uwp-windows-msvc": [
               {
-                "id": "windows_i686_msvc 0.36.1",
+                "id": "windows_i686_msvc 0.42.1",
                 "target": "windows_i686_msvc"
               }
             ],
             "x86_64-pc-windows-gnu": [
               {
-                "id": "windows_x86_64_gnu 0.36.1",
+                "id": "windows_x86_64_gnu 0.42.1",
                 "target": "windows_x86_64_gnu"
               }
             ],
+            "x86_64-pc-windows-gnullvm": [
+              {
+                "id": "windows_x86_64_gnullvm 0.42.1",
+                "target": "windows_x86_64_gnullvm"
+              }
+            ],
             "x86_64-pc-windows-msvc": [
               {
-                "id": "windows_x86_64_msvc 0.36.1",
+                "id": "windows_x86_64_msvc 0.42.1",
                 "target": "windows_x86_64_msvc"
               }
             ],
             "x86_64-uwp-windows-gnu": [
               {
-                "id": "windows_x86_64_gnu 0.36.1",
+                "id": "windows_x86_64_gnu 0.42.1",
                 "target": "windows_x86_64_gnu"
               }
             ],
             "x86_64-uwp-windows-msvc": [
               {
-                "id": "windows_x86_64_msvc 0.36.1",
+                "id": "windows_x86_64_msvc 0.42.1",
                 "target": "windows_x86_64_msvc"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.0"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_aarch64_msvc 0.36.1": {
-      "name": "windows_aarch64_msvc",
-      "version": "0.36.1",
+    "windows-sys 0.45.0": {
+      "name": "windows-sys",
+      "version": "0.45.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download",
-          "sha256": "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+          "url": "https://crates.io/api/v1/crates/windows-sys/0.45.0/download",
+          "sha256": "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "windows_sys",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "windows_sys",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "Win32",
+            "Win32_Foundation",
+            "Win32_Networking",
+            "Win32_Networking_WinSock",
+            "Win32_Security",
+            "Win32_Security_Authorization",
+            "Win32_Storage",
+            "Win32_Storage_FileSystem",
+            "Win32_System",
+            "Win32_System_Console",
+            "Win32_System_IO",
+            "Win32_System_Pipes",
+            "Win32_System_SystemServices",
+            "Win32_System_WindowsProgramming",
+            "default"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [],
+          "selects": {
+            "cfg(not(windows_raw_dylib))": [
+              {
+                "id": "windows-targets 0.42.1",
+                "target": "windows_targets"
+              }
+            ]
+          }
+        },
+        "edition": "2018",
+        "version": "0.45.0"
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "windows-targets 0.42.1": {
+      "name": "windows-targets",
+      "version": "0.42.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/windows-targets/0.42.1/download",
+          "sha256": "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "windows_targets",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "windows_targets",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [],
+          "selects": {
+            "aarch64-pc-windows-gnullvm": [
+              {
+                "id": "windows_aarch64_gnullvm 0.42.1",
+                "target": "windows_aarch64_gnullvm"
+              }
+            ],
+            "aarch64-pc-windows-msvc": [
+              {
+                "id": "windows_aarch64_msvc 0.42.1",
+                "target": "windows_aarch64_msvc"
+              }
+            ],
+            "aarch64-uwp-windows-msvc": [
+              {
+                "id": "windows_aarch64_msvc 0.42.1",
+                "target": "windows_aarch64_msvc"
+              }
+            ],
+            "i686-pc-windows-gnu": [
+              {
+                "id": "windows_i686_gnu 0.42.1",
+                "target": "windows_i686_gnu"
+              }
+            ],
+            "i686-pc-windows-msvc": [
+              {
+                "id": "windows_i686_msvc 0.42.1",
+                "target": "windows_i686_msvc"
+              }
+            ],
+            "i686-uwp-windows-gnu": [
+              {
+                "id": "windows_i686_gnu 0.42.1",
+                "target": "windows_i686_gnu"
+              }
+            ],
+            "i686-uwp-windows-msvc": [
+              {
+                "id": "windows_i686_msvc 0.42.1",
+                "target": "windows_i686_msvc"
+              }
+            ],
+            "x86_64-pc-windows-gnu": [
+              {
+                "id": "windows_x86_64_gnu 0.42.1",
+                "target": "windows_x86_64_gnu"
+              }
+            ],
+            "x86_64-pc-windows-gnullvm": [
+              {
+                "id": "windows_x86_64_gnullvm 0.42.1",
+                "target": "windows_x86_64_gnullvm"
+              }
+            ],
+            "x86_64-pc-windows-msvc": [
+              {
+                "id": "windows_x86_64_msvc 0.42.1",
+                "target": "windows_x86_64_msvc"
+              }
+            ],
+            "x86_64-uwp-windows-gnu": [
+              {
+                "id": "windows_x86_64_gnu 0.42.1",
+                "target": "windows_x86_64_gnu"
+              }
+            ],
+            "x86_64-uwp-windows-msvc": [
+              {
+                "id": "windows_x86_64_msvc 0.42.1",
+                "target": "windows_x86_64_msvc"
+              }
+            ]
+          }
+        },
+        "edition": "2018",
+        "version": "0.42.1"
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "windows_aarch64_gnullvm 0.42.1": {
+      "name": "windows_aarch64_gnullvm",
+      "version": "0.42.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.42.1/download",
+          "sha256": "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "windows_aarch64_gnullvm",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "windows_aarch64_gnullvm",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "windows_aarch64_gnullvm 0.42.1",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.42.1"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ]
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "windows_aarch64_msvc 0.42.1": {
+      "name": "windows_aarch64_msvc",
+      "version": "0.42.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.42.1/download",
+          "sha256": "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
         }
       },
       "targets": [
@@ -10739,24 +8902,18 @@
           "Library": {
             "crate_name": "windows_aarch64_msvc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10768,14 +8925,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_aarch64_msvc 0.36.1",
+              "id": "windows_aarch64_msvc 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -10784,13 +8941,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_i686_gnu 0.36.1": {
+    "windows_i686_gnu 0.42.1": {
       "name": "windows_i686_gnu",
-      "version": "0.36.1",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download",
-          "sha256": "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+          "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.42.1/download",
+          "sha256": "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
         }
       },
       "targets": [
@@ -10798,24 +8955,18 @@
           "Library": {
             "crate_name": "windows_i686_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10827,14 +8978,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_i686_gnu 0.36.1",
+              "id": "windows_i686_gnu 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -10843,13 +8994,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_i686_msvc 0.36.1": {
+    "windows_i686_msvc 0.42.1": {
       "name": "windows_i686_msvc",
-      "version": "0.36.1",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download",
-          "sha256": "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+          "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.42.1/download",
+          "sha256": "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
         }
       },
       "targets": [
@@ -10857,24 +9008,18 @@
           "Library": {
             "crate_name": "windows_i686_msvc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10886,14 +9031,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_i686_msvc 0.36.1",
+              "id": "windows_i686_msvc 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -10902,13 +9047,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_x86_64_gnu 0.36.1": {
+    "windows_x86_64_gnu 0.42.1": {
       "name": "windows_x86_64_gnu",
-      "version": "0.36.1",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download",
-          "sha256": "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+          "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.42.1/download",
+          "sha256": "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
         }
       },
       "targets": [
@@ -10916,24 +9061,18 @@
           "Library": {
             "crate_name": "windows_x86_64_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -10945,14 +9084,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_x86_64_gnu 0.36.1",
+              "id": "windows_x86_64_gnu 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -10961,13 +9100,66 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_x86_64_msvc 0.36.1": {
-      "name": "windows_x86_64_msvc",
-      "version": "0.36.1",
+    "windows_x86_64_gnullvm 0.42.1": {
+      "name": "windows_x86_64_gnullvm",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download",
-          "sha256": "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+          "url": "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.42.1/download",
+          "sha256": "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "windows_x86_64_gnullvm",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "windows_x86_64_gnullvm",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "windows_x86_64_gnullvm 0.42.1",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.42.1"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ]
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "windows_x86_64_msvc 0.42.1": {
+      "name": "windows_x86_64_msvc",
+      "version": "0.42.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.42.1/download",
+          "sha256": "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
         }
       },
       "targets": [
@@ -10975,24 +9167,18 @@
           "Library": {
             "crate_name": "windows_x86_64_msvc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -11004,14 +9190,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_x86_64_msvc 0.36.1",
+              "id": "windows_x86_64_msvc 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -11020,6 +9206,44 @@
       },
       "license": "MIT OR Apache-2.0"
     },
+    "winnow 0.3.3": {
+      "name": "winnow",
+      "version": "0.3.3",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/winnow/0.3.3/download",
+          "sha256": "faf09497b8f8b5ac5d3bb4d05c0a99be20f26fd3d5f2db7b0716e946d5103658"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "winnow",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "winnow",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "0.3.3"
+      },
+      "license": "MIT"
+    },
     "winreg 0.10.1": {
       "name": "winreg",
       "version": "0.10.1",
@@ -11034,24 +9258,18 @@
           "Library": {
             "crate_name": "winreg",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -11084,51 +9302,68 @@
       "license": "MIT"
     }
   },
-  "binary_crates": [
-    "cc 1.0.73",
-    "httpmock 0.6.6",
-    "lalrpop 0.19.8"
-  ],
+  "binary_crates": [],
   "workspace_members": {
-    "direct-cargo-bazel-deps 0.0.1": "",
     "pkg_a 0.1.0": "multi_package/pkg_a",
     "pkg_b 0.1.0": "multi_package/sub_pkgs/pkg_b",
     "pkg_c 0.1.0": "multi_package/sub_pkgs/pkg_c"
   },
   "conditions": {
-    "aarch64-pc-windows-msvc": [],
+    "aarch64-pc-windows-gnullvm": [],
+    "aarch64-pc-windows-msvc": [
+      "aarch64-pc-windows-msvc"
+    ],
     "aarch64-uwp-windows-msvc": [],
     "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
-    "cfg(all(unix, not(target_os = \"macos\")))": [
-      "aarch64-apple-ios",
-      "aarch64-apple-ios-sim",
+    "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": [
+      "wasm32-unknown-unknown"
+    ],
+    "cfg(all(target_arch = \"wasm32\", target_vendor = \"unknown\", target_os = \"unknown\", target_env = \"\"))": [
+      "wasm32-unknown-unknown"
+    ],
+    "cfg(any(target_arch = \"x86\", target_arch = \"x86_64\", all(any(target_arch = \"aarch64\", target_arch = \"arm\"), any(target_os = \"android\", target_os = \"fuchsia\", target_os = \"linux\"))))": [
+      "aarch64-fuchsia",
+      "aarch64-linux-android",
+      "aarch64-unknown-linux-gnu",
+      "arm-unknown-linux-gnueabi",
+      "armv7-linux-androideabi",
+      "armv7-unknown-linux-gnueabi",
+      "i686-apple-darwin",
+      "i686-linux-android",
+      "i686-pc-windows-msvc",
+      "i686-unknown-freebsd",
+      "i686-unknown-linux-gnu",
+      "x86_64-apple-darwin",
+      "x86_64-apple-ios",
+      "x86_64-fuchsia",
+      "x86_64-linux-android",
+      "x86_64-pc-windows-msvc",
+      "x86_64-unknown-freebsd",
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
+    ],
+    "cfg(any(target_os = \"android\", target_os = \"linux\"))": [
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
       "armv7-linux-androideabi",
       "armv7-unknown-linux-gnueabi",
       "i686-linux-android",
-      "i686-unknown-freebsd",
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "s390x-unknown-linux-gnu",
-      "x86_64-apple-ios",
       "x86_64-linux-android",
-      "x86_64-unknown-freebsd",
       "x86_64-unknown-linux-gnu"
     ],
-    "cfg(any(target_os = \"macos\", target_os = \"ios\"))": [
-      "aarch64-apple-darwin",
-      "aarch64-apple-ios",
-      "aarch64-apple-ios-sim",
-      "i686-apple-darwin",
-      "x86_64-apple-darwin",
-      "x86_64-apple-ios"
+    "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"illumos\", target_os = \"netbsd\", target_os = \"openbsd\", target_os = \"solaris\"))": [
+      "i686-unknown-freebsd",
+      "x86_64-unknown-freebsd"
     ],
     "cfg(any(unix, target_os = \"fuchsia\", target_os = \"vxworks\"))": [
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -11142,55 +9377,50 @@
       "s390x-unknown-linux-gnu",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
       "x86_64-unknown-linux-gnu"
     ],
-    "cfg(any(unix, target_os = \"wasi\"))": [
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": [
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
       "armv7-linux-androideabi",
       "armv7-unknown-linux-gnueabi",
       "i686-apple-darwin",
       "i686-linux-android",
-      "i686-unknown-freebsd",
-      "i686-unknown-linux-gnu",
-      "powerpc-unknown-linux-gnu",
-      "s390x-unknown-linux-gnu",
-      "wasm32-wasi",
-      "x86_64-apple-darwin",
-      "x86_64-apple-ios",
-      "x86_64-linux-android",
-      "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
-    ],
-    "cfg(not(any(target_os = \"windows\", target_os = \"macos\", target_os = \"ios\")))": [
-      "aarch64-linux-android",
-      "aarch64-unknown-linux-gnu",
-      "arm-unknown-linux-gnueabi",
-      "armv7-linux-androideabi",
-      "armv7-unknown-linux-gnueabi",
-      "i686-linux-android",
+      "i686-pc-windows-msvc",
       "i686-unknown-freebsd",
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
       "s390x-unknown-linux-gnu",
-      "wasm32-unknown-unknown",
-      "wasm32-wasi",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
+      "x86_64-apple-darwin",
+      "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
+      "x86_64-pc-windows-msvc",
       "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
     ],
     "cfg(not(target_arch = \"wasm32\"))": [
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
       "armv7-linux-androideabi",
@@ -11202,19 +9432,26 @@
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
       "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-pc-windows-msvc",
       "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
     ],
     "cfg(not(target_os = \"unknown\"))": [
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
       "armv7-linux-androideabi",
@@ -11226,19 +9463,25 @@
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
       "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
       "wasm32-wasi",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-pc-windows-msvc",
       "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
     ],
     "cfg(not(windows))": [
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -11250,30 +9493,68 @@
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
       "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
       "wasm32-unknown-unknown",
       "wasm32-wasi",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
+    ],
+    "cfg(not(windows_raw_dylib))": [
+      "aarch64-apple-darwin",
+      "aarch64-apple-ios",
+      "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
+      "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
+      "aarch64-unknown-linux-gnu",
+      "arm-unknown-linux-gnueabi",
+      "armv7-linux-androideabi",
+      "armv7-unknown-linux-gnueabi",
+      "i686-apple-darwin",
+      "i686-linux-android",
+      "i686-pc-windows-msvc",
+      "i686-unknown-freebsd",
+      "i686-unknown-linux-gnu",
+      "powerpc-unknown-linux-gnu",
+      "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
+      "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
+      "wasm32-unknown-unknown",
+      "wasm32-wasi",
+      "x86_64-apple-darwin",
+      "x86_64-apple-ios",
+      "x86_64-fuchsia",
+      "x86_64-linux-android",
+      "x86_64-pc-windows-msvc",
+      "x86_64-unknown-freebsd",
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
     ],
     "cfg(target_arch = \"wasm32\")": [
       "wasm32-unknown-unknown",
       "wasm32-wasi"
     ],
     "cfg(target_env = \"msvc\")": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
     "cfg(target_feature = \"atomics\")": [],
-    "cfg(target_os = \"hermit\")": [],
-    "cfg(target_os = \"redox\")": [],
     "cfg(target_os = \"wasi\")": [
       "wasm32-wasi"
     ],
     "cfg(target_os = \"windows\")": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
@@ -11281,6 +9562,7 @@
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -11294,11 +9576,13 @@
       "s390x-unknown-linux-gnu",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
       "x86_64-unknown-linux-gnu"
     ],
     "cfg(windows)": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
@@ -11309,6 +9593,7 @@
     "i686-uwp-windows-gnu": [],
     "i686-uwp-windows-msvc": [],
     "x86_64-pc-windows-gnu": [],
+    "x86_64-pc-windows-gnullvm": [],
     "x86_64-pc-windows-msvc": [
       "x86_64-pc-windows-msvc"
     ],
diff --git a/examples/crate_universe/multi_package/pkg_a/BUILD.bazel b/examples/crate_universe/multi_package/pkg_a/BUILD.bazel
index ff809ad..700e27e 100644
--- a/examples/crate_universe/multi_package/pkg_a/BUILD.bazel
+++ b/examples/crate_universe/multi_package/pkg_a/BUILD.bazel
@@ -6,13 +6,6 @@
     srcs = glob(["src/**/*.rs"]),
     aliases = aliases(),
     proc_macro_deps = all_crate_deps(proc_macro = True),
-    # TODO: There's an issue building OpenSSL on Windows in GitHub CI so for
-    # now all targets that depend on it are disabled
-    target_compatible_with = select({
-        "@platforms//os:linux": [],
-        "@platforms//os:macos": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
     deps = all_crate_deps(normal = True),
 )
 
@@ -21,12 +14,5 @@
     aliases = aliases(),
     crate = ":pkg_a",
     proc_macro_deps = all_crate_deps(proc_macro_dev = True),
-    # TODO: There's an issue building OpenSSL on Windows in GitHub CI so for
-    # now all targets that depend on it are disabled
-    target_compatible_with = select({
-        "@platforms//os:linux": [],
-        "@platforms//os:macos": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
     deps = all_crate_deps(normal_dev = True),
 )
diff --git a/examples/crate_universe/multi_package/pkg_a/Cargo.lock b/examples/crate_universe/multi_package/pkg_a/Cargo.lock
index 9360870..10eff6d 100644
--- a/examples/crate_universe/multi_package/pkg_a/Cargo.lock
+++ b/examples/crate_universe/multi_package/pkg_a/Cargo.lock
@@ -4,33 +4,24 @@
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "0.7.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.45"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee10e43ae4a853c0a3591d4e2ada1719e553be18199d9da9d4a83f5927c2f5c7"
-
-[[package]]
-name = "ascii-canvas"
-version = "3.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6"
-dependencies = [
- "term",
-]
+checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
 
 [[package]]
 name = "assert-json-diff"
-version = "2.0.1"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f1c3703dd33532d7f0ca049168930e9099ecac238e23cf932f3a69c42f06da"
+checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
 dependencies = [
  "serde",
  "serde_json",
@@ -38,9 +29,9 @@
 
 [[package]]
 name = "async-channel"
-version = "1.6.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
+checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
 dependencies = [
  "concurrent-queue",
  "event-listener",
@@ -49,67 +40,58 @@
 
 [[package]]
 name = "async-executor"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
+checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b"
 dependencies = [
+ "async-lock",
  "async-task",
  "concurrent-queue",
  "fastrand",
  "futures-lite",
- "once_cell",
  "slab",
 ]
 
 [[package]]
 name = "async-global-executor"
-version = "2.0.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6"
+checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
 dependencies = [
  "async-channel",
  "async-executor",
  "async-io",
- "async-mutex",
+ "async-lock",
  "blocking",
  "futures-lite",
- "num_cpus",
  "once_cell",
 ]
 
 [[package]]
 name = "async-io"
-version = "1.6.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b"
+checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794"
 dependencies = [
+ "async-lock",
+ "autocfg",
  "concurrent-queue",
  "futures-lite",
  "libc",
  "log",
- "once_cell",
  "parking",
  "polling",
  "slab",
  "socket2",
  "waker-fn",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
 name = "async-lock"
-version = "2.4.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b"
-dependencies = [
- "event-listener",
-]
-
-[[package]]
-name = "async-mutex"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e"
+checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
 dependencies = [
  "event-listener",
 ]
@@ -125,26 +107,27 @@
 
 [[package]]
 name = "async-process"
-version = "1.2.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b21b63ab5a0db0369deb913540af2892750e42d949faacc7a61495ac418a1692"
+checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4"
 dependencies = [
  "async-io",
+ "async-lock",
+ "autocfg",
  "blocking",
  "cfg-if",
  "event-listener",
  "futures-lite",
  "libc",
- "once_cell",
  "signal-hook",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
 name = "async-std"
-version = "1.10.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952"
+checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
 dependencies = [
  "async-channel",
  "async-global-executor",
@@ -160,7 +143,6 @@
  "kv-log-macro",
  "log",
  "memchr",
- "num_cpus",
  "once_cell",
  "pin-project-lite",
  "pin-utils",
@@ -170,15 +152,15 @@
 
 [[package]]
 name = "async-task"
-version = "4.0.3"
+version = "4.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"
+checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
 
 [[package]]
 name = "async-trait"
-version = "0.1.51"
+version = "0.1.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e"
+checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -187,58 +169,27 @@
 
 [[package]]
 name = "atomic-waker"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
-]
+checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599"
 
 [[package]]
 name = "autocfg"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "base64"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
-name = "basic-cookies"
-version = "0.1.4"
+name = "base64"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb53b6b315f924c7f113b162e53b3901c05fc9966baf84d201dfcc7432a4bb38"
-dependencies = [
- "lalrpop",
- "lalrpop-util",
- "regex",
-]
-
-[[package]]
-name = "bit-set"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
-dependencies = [
- "bit-vec",
-]
-
-[[package]]
-name = "bit-vec"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
 
 [[package]]
 name = "bitflags"
@@ -248,47 +199,44 @@
 
 [[package]]
 name = "blocking"
-version = "1.0.2"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9"
+checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8"
 dependencies = [
  "async-channel",
+ "async-lock",
  "async-task",
  "atomic-waker",
  "fastrand",
  "futures-lite",
- "once_cell",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.8.0"
+version = "3.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
-
-[[package]]
-name = "cache-padded"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "castaway"
-version = "0.1.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed247d1586918e46f2bbe0f13b06498db8dab5a8c1093f156652e9f2e0a73fc3"
+checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
+dependencies = [
+ "rustversion",
+]
 
 [[package]]
 name = "cc"
-version = "1.0.71"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
 
 [[package]]
 name = "cfg-if"
@@ -298,18 +246,18 @@
 
 [[package]]
 name = "concurrent-queue"
-version = "1.2.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
+checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e"
 dependencies = [
- "cache-padded",
+ "crossbeam-utils",
 ]
 
 [[package]]
 name = "core-foundation"
-version = "0.9.2"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -323,25 +271,18 @@
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.5"
+version = "0.8.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
 dependencies = [
  "cfg-if",
- "lazy_static",
 ]
 
 [[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
-[[package]]
 name = "ctor"
-version = "0.1.21"
+version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
 dependencies = [
  "quote",
  "syn",
@@ -349,14 +290,12 @@
 
 [[package]]
 name = "curl"
-version = "0.4.40"
+version = "0.4.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877cc2f9b8367e32b6dabb9d581557e651cb3aa693a37f8679091bbf42687d5d"
+checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
 dependencies = [
  "curl-sys",
  "libc",
- "openssl-probe",
- "openssl-sys",
  "schannel",
  "socket2",
  "winapi",
@@ -364,99 +303,66 @@
 
 [[package]]
 name = "curl-sys"
-version = "0.4.50+curl-7.79.1"
+version = "0.4.60+curl-7.88.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4856b76919dd599f31236bb18db5f5bd36e2ce131e64f857ca5c259665b76171"
+checksum = "717abe2cb465a5da6ce06617388a3980c9a2844196734bec8ccb8e575250f13f"
 dependencies = [
  "cc",
  "libc",
  "libnghttp2-sys",
  "libz-sys",
- "openssl-sys",
  "pkg-config",
+ "rustls-ffi",
  "vcpkg",
  "winapi",
 ]
 
 [[package]]
-name = "diff"
-version = "0.1.12"
+name = "encoding_rs"
+version = "0.8.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499"
-
-[[package]]
-name = "difference"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
-
-[[package]]
-name = "dirs-next"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
 dependencies = [
  "cfg-if",
- "dirs-sys-next",
 ]
 
 [[package]]
-name = "dirs-sys-next"
-version = "0.1.2"
+name = "errno"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
 dependencies = [
+ "errno-dragonfly",
  "libc",
- "redox_users",
  "winapi",
 ]
 
 [[package]]
-name = "either"
-version = "1.6.1"
+name = "errno-dragonfly"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
-[[package]]
-name = "ena"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
 dependencies = [
- "log",
-]
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746"
-dependencies = [
- "cfg-if",
+ "cc",
+ "libc",
 ]
 
 [[package]]
 name = "event-listener"
-version = "2.5.1"
+version = "2.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "fastrand"
-version = "1.5.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
 dependencies = [
  "instant",
 ]
 
 [[package]]
-name = "fixedbitset"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
-
-[[package]]
 name = "fnv"
 version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -479,34 +385,33 @@
 
 [[package]]
 name = "form_urlencoded"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
 dependencies = [
- "matches",
  "percent-encoding",
 ]
 
 [[package]]
 name = "futures-channel"
-version = "0.3.17"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
 dependencies = [
  "futures-core",
 ]
 
 [[package]]
 name = "futures-core"
-version = "0.3.17"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
 
 [[package]]
 name = "futures-io"
-version = "0.3.17"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377"
+checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
 
 [[package]]
 name = "futures-lite"
@@ -525,12 +430,10 @@
 
 [[package]]
 name = "futures-macro"
-version = "0.3.17"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb"
+checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
 dependencies = [
- "autocfg",
- "proc-macro-hack",
  "proc-macro2",
  "quote",
  "syn",
@@ -538,23 +441,22 @@
 
 [[package]]
 name = "futures-sink"
-version = "0.3.17"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11"
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
 
 [[package]]
 name = "futures-task"
-version = "0.3.17"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
 
 [[package]]
 name = "futures-util"
-version = "0.3.17"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
 dependencies = [
- "autocfg",
  "futures-core",
  "futures-io",
  "futures-macro",
@@ -562,40 +464,26 @@
  "memchr",
  "pin-project-lite",
  "pin-utils",
- "proc-macro-hack",
- "proc-macro-nested",
  "slab",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
 name = "gloo-timers"
-version = "0.2.1"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f"
+checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
 dependencies = [
  "futures-channel",
  "futures-core",
  "js-sys",
  "wasm-bindgen",
- "web-sys",
 ]
 
 [[package]]
 name = "h2"
-version = "0.3.7"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fd819562fcebdac5afc5c113c3ec36f902840b70fd4fc458799c8ce4607ae55"
+checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
 dependencies = [
  "bytes",
  "fnv",
@@ -612,24 +500,24 @@
 
 [[package]]
 name = "hashbrown"
-version = "0.11.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "http"
-version = "0.2.5"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
 dependencies = [
  "bytes",
  "fnv",
@@ -638,9 +526,9 @@
 
 [[package]]
 name = "http-body"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
 dependencies = [
  "bytes",
  "http",
@@ -649,29 +537,26 @@
 
 [[package]]
 name = "httparse"
-version = "1.5.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
 
 [[package]]
 name = "httpmock"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "218c2c3dabf4497c87d042b43984a5fd03bcd8a6adb0056ade7df20f88df225a"
+version = "0.6.7"
+source = "git+https://github.com/alexliesenfeld/httpmock.git?rev=9ecf35255ee154986bc36d06473f1fa088586ad9#9ecf35255ee154986bc36d06473f1fa088586ad9"
 dependencies = [
  "assert-json-diff",
  "async-object-pool",
  "async-trait",
- "base64",
- "basic-cookies",
+ "base64 0.13.1",
  "crossbeam-utils",
- "difference",
  "form_urlencoded",
  "futures-util",
  "hyper",
@@ -679,19 +564,20 @@
  "lazy_static",
  "levenshtein",
  "log",
- "qstring",
  "regex",
  "serde",
  "serde_json",
  "serde_regex",
+ "similar",
  "tokio",
+ "url",
 ]
 
 [[package]]
 name = "hyper"
-version = "0.14.14"
+version = "0.14.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b91bb1f221b6ea1f1e4371216b70f40748774c2fb5971b450c07773fb92d26b"
+checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -712,6 +598,19 @@
 ]
 
 [[package]]
+name = "hyper-rustls"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
+dependencies = [
+ "http",
+ "hyper",
+ "rustls",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
 name = "hyper-tls"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -726,20 +625,19 @@
 
 [[package]]
 name = "idna"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "indexmap"
-version = "1.7.0"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
 dependencies = [
  "autocfg",
  "hashbrown",
@@ -755,16 +653,25 @@
 ]
 
 [[package]]
-name = "ipnet"
-version = "2.3.1"
+name = "io-lifetimes"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9"
+checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
+dependencies = [
+ "libc",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
 
 [[package]]
 name = "isahc"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40ef5402b1791c9fc479ef9871601a2f10e4cc0f14414a5c9c6e043fb51e5a56"
+version = "1.7.0"
+source = "git+https://github.com/sagebind/isahc.git?rev=096aff7b13f4ff5bb474fdc27bc30b297a2968f6#096aff7b13f4ff5bb474fdc27bc30b297a2968f6"
 dependencies = [
  "async-channel",
  "castaway",
@@ -773,13 +680,15 @@
  "curl-sys",
  "encoding_rs",
  "event-listener",
+ "futures-io",
  "futures-lite",
  "http",
  "log",
  "mime",
  "once_cell",
  "polling",
- "slab",
+ "serde",
+ "serde_json",
  "sluice",
  "tracing",
  "tracing-futures",
@@ -788,25 +697,16 @@
 ]
 
 [[package]]
-name = "itertools"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
-dependencies = [
- "either",
-]
-
-[[package]]
 name = "itoa"
-version = "0.4.8"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
 
 [[package]]
 name = "js-sys"
-version = "0.3.55"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -821,38 +721,6 @@
 ]
 
 [[package]]
-name = "lalrpop"
-version = "0.19.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15174f1c529af5bf1283c3bc0058266b483a67156f79589fab2a25e23cf8988"
-dependencies = [
- "ascii-canvas",
- "atty",
- "bit-set",
- "diff",
- "ena",
- "itertools",
- "lalrpop-util",
- "petgraph",
- "pico-args",
- "regex",
- "regex-syntax",
- "string_cache",
- "term",
- "tiny-keccak",
- "unicode-xid",
-]
-
-[[package]]
-name = "lalrpop-util"
-version = "0.19.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e58cce361efcc90ba8a0a5f982c741ff86b603495bb15a998412e957dcd278"
-dependencies = [
- "regex",
-]
-
-[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -866,9 +734,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.107"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "libnghttp2-sys"
@@ -882,9 +750,9 @@
 
 [[package]]
 name = "libz-sys"
-version = "1.1.3"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
+checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf"
 dependencies = [
  "cc",
  "libc",
@@ -893,35 +761,26 @@
 ]
 
 [[package]]
-name = "lock_api"
-version = "0.4.5"
+name = "linux-raw-sys"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109"
-dependencies = [
- "scopeguard",
-]
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
 
 [[package]]
 name = "log"
-version = "0.4.14"
+version = "0.4.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
 dependencies = [
  "cfg-if",
  "value-bag",
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
-[[package]]
 name = "memchr"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
 name = "mime"
@@ -931,31 +790,21 @@
 
 [[package]]
 name = "mio"
-version = "0.7.14"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
 dependencies = [
  "libc",
  "log",
- "miow",
- "ntapi",
- "winapi",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi",
+ "wasi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "native-tls"
-version = "0.2.8"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
 dependencies = [
  "lazy_static",
  "libc",
@@ -970,61 +819,79 @@
 ]
 
 [[package]]
-name = "new_debug_unreachable"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-
-[[package]]
-name = "ntapi"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "num_cpus"
-version = "1.13.0"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
  "hermit-abi",
  "libc",
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.8.0"
+name = "num_enum"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
+checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
 
 [[package]]
 name = "openssl"
-version = "0.10.38"
+version = "0.10.45"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
+checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1"
 dependencies = [
  "bitflags",
  "cfg-if",
  "foreign-types",
  "libc",
  "once_cell",
+ "openssl-macros",
  "openssl-sys",
 ]
 
 [[package]]
-name = "openssl-probe"
-version = "0.1.4"
+name = "openssl-macros"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
+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.70"
+version = "0.9.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6517987b3f8226b5da3661dad65ff7f300cc59fb5ea8333ca191fc65fde3edf"
+checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7"
 dependencies = [
  "autocfg",
  "cc",
@@ -1040,75 +907,25 @@
 checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
 
 [[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall",
- "smallvec",
- "winapi",
-]
-
-[[package]]
 name = "percent-encoding"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
-[[package]]
-name = "petgraph"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7"
-dependencies = [
- "fixedbitset",
- "indexmap",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "pico-args"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
 name = "pin-project"
-version = "1.0.8"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08"
+checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.0.8"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389"
+checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1117,9 +934,9 @@
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.7"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
 
 [[package]]
 name = "pin-utils"
@@ -1129,9 +946,9 @@
 
 [[package]]
 name = "pkg-config"
-version = "0.3.22"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
 
 [[package]]
 name = "pkg_a"
@@ -1144,132 +961,60 @@
 
 [[package]]
 name = "polling"
-version = "2.1.0"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25"
+checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6"
 dependencies = [
+ "autocfg",
  "cfg-if",
  "libc",
  "log",
  "wepoll-ffi",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "ppv-lite86"
-version = "0.2.15"
+name = "proc-macro-crate"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba"
-
-[[package]]
-name = "precomputed-hash"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
-[[package]]
-name = "proc-macro-nested"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit",
+]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.32"
+version = "1.0.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
 dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "qstring"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e"
-dependencies = [
- "percent-encoding",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.10"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
-name = "rand"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
- "rand_hc",
-]
-
-[[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.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
 name = "redox_syscall"
-version = "0.2.10"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
  "bitflags",
 ]
 
 [[package]]
-name = "redox_users"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
-dependencies = [
- "getrandom",
- "redox_syscall",
-]
-
-[[package]]
 name = "regex"
-version = "1.5.4"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1278,87 +1023,162 @@
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.25"
+version = "0.6.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi",
-]
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
 
 [[package]]
 name = "reqwest"
-version = "0.11.6"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d2927ca2f685faf0fc620ac4834690d29e7abb153add10f5812eef20b5e280"
+checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
 dependencies = [
- "base64",
+ "base64 0.21.0",
  "bytes",
  "encoding_rs",
  "futures-core",
  "futures-util",
+ "h2",
  "http",
  "http-body",
  "hyper",
+ "hyper-rustls",
  "hyper-tls",
  "ipnet",
  "js-sys",
- "lazy_static",
  "log",
  "mime",
  "native-tls",
+ "once_cell",
  "percent-encoding",
  "pin-project-lite",
+ "rustls",
+ "rustls-pemfile 1.0.2",
  "serde",
  "serde_json",
  "serde_urlencoded",
  "tokio",
  "tokio-native-tls",
+ "tokio-rustls",
+ "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
+ "webpki-roots",
  "winreg",
 ]
 
 [[package]]
-name = "rustversion"
-version = "1.0.5"
+name = "ring"
+version = "0.16.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088"
-
-[[package]]
-name = "ryu"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-
-[[package]]
-name = "schannel"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
 dependencies = [
- "lazy_static",
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
  "winapi",
 ]
 
 [[package]]
-name = "scopeguard"
-version = "1.1.0"
+name = "rustix"
+version = "0.36.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-ffi"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9da52707cca59e6eef8a78f3ad8d04024254a168ed1b41eb4dfa9616eace781a"
+dependencies = [
+ "libc",
+ "log",
+ "num_enum",
+ "rustls",
+ "rustls-pemfile 0.2.1",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9"
+dependencies = [
+ "base64 0.13.1",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+dependencies = [
+ "base64 0.21.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[package]]
+name = "schannel"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+dependencies = [
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
 
 [[package]]
 name = "security-framework"
-version = "2.4.2"
+version = "2.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87"
+checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
 dependencies = [
  "bitflags",
  "core-foundation",
@@ -1369,9 +1189,9 @@
 
 [[package]]
 name = "security-framework-sys"
-version = "2.4.2"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e"
+checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -1379,18 +1199,18 @@
 
 [[package]]
 name = "serde"
-version = "1.0.130"
+version = "1.0.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.130"
+version = "1.0.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1399,9 +1219,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.69"
+version = "1.0.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e466864e431129c7e0d3476b92f20458e5879919a0596c6472738d9fa2d342f8"
+checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
 dependencies = [
  "itoa",
  "ryu",
@@ -1420,9 +1240,9 @@
 
 [[package]]
 name = "serde_urlencoded"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
  "form_urlencoded",
  "itoa",
@@ -1432,9 +1252,9 @@
 
 [[package]]
 name = "signal-hook"
-version = "0.3.10"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c98891d737e271a2954825ef19e46bd16bdb98e2746f2eec4f7a4ef7946efd1"
+checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -1442,24 +1262,27 @@
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 dependencies = [
  "libc",
 ]
 
 [[package]]
-name = "siphasher"
-version = "0.3.7"
+name = "similar"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b"
+checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
 
 [[package]]
 name = "slab"
-version = "0.4.5"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+dependencies = [
+ "autocfg",
+]
 
 [[package]]
 name = "sluice"
@@ -1473,99 +1296,65 @@
 ]
 
 [[package]]
-name = "smallvec"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309"
-
-[[package]]
 name = "socket2"
-version = "0.4.2"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
 dependencies = [
  "libc",
  "winapi",
 ]
 
 [[package]]
-name = "string_cache"
-version = "0.8.2"
+name = "spin"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "923f0f39b6267d37d23ce71ae7235602134b250ace715dd2c90421998ddac0c6"
-dependencies = [
- "lazy_static",
- "new_debug_unreachable",
- "parking_lot",
- "phf_shared",
- "precomputed-hash",
-]
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
 
 [[package]]
 name = "syn"
-version = "1.0.81"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "tempfile"
-version = "3.2.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
+checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
 dependencies = [
  "cfg-if",
- "libc",
- "rand",
+ "fastrand",
  "redox_syscall",
- "remove_dir_all",
- "winapi",
-]
-
-[[package]]
-name = "term"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
-dependencies = [
- "dirs-next",
- "rustversion",
- "winapi",
-]
-
-[[package]]
-name = "tiny-keccak"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
-dependencies = [
- "crunchy",
+ "rustix",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
 name = "tinyvec"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
 dependencies = [
  "tinyvec_macros",
 ]
 
 [[package]]
 name = "tinyvec_macros"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.13.0"
+version = "1.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "588b2d10a336da58d877567cd8fb8a14b463e2104910f8132cd054b4b96e29ee"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
 dependencies = [
  "autocfg",
  "bytes",
@@ -1573,18 +1362,18 @@
  "memchr",
  "mio",
  "num_cpus",
- "once_cell",
  "pin-project-lite",
  "signal-hook-registry",
+ "socket2",
  "tokio-macros",
- "winapi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "1.5.1"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "114383b041aa6212c579467afa0075fbbdd0718de036100bc0ba7961d8cb9095"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1593,39 +1382,67 @@
 
 [[package]]
 name = "tokio-native-tls"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
 dependencies = [
  "native-tls",
  "tokio",
 ]
 
 [[package]]
-name = "tokio-util"
-version = "0.6.9"
+name = "tokio-rustls"
+version = "0.23.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0"
+checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
+dependencies = [
+ "rustls",
+ "tokio",
+ "webpki",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
 dependencies = [
  "bytes",
  "futures-core",
  "futures-sink",
- "log",
  "pin-project-lite",
  "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+
+[[package]]
+name = "toml_edit"
+version = "0.19.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
 ]
 
 [[package]]
 name = "tower-service"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.29"
+version = "0.1.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
 dependencies = [
  "cfg-if",
  "log",
@@ -1636,9 +1453,9 @@
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.18"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1647,11 +1464,11 @@
 
 [[package]]
 name = "tracing-core"
-version = "0.1.21"
+version = "0.1.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
 dependencies = [
- "lazy_static",
+ "once_cell",
 ]
 
 [[package]]
@@ -1666,48 +1483,53 @@
 
 [[package]]
 name = "try-lock"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.7"
+version = "0.3.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
+checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.19"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
-name = "unicode-xid"
-version = "0.2.2"
+name = "untrusted"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
 
 [[package]]
 name = "url"
-version = "2.2.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
 dependencies = [
  "form_urlencoded",
  "idna",
- "matches",
  "percent-encoding",
 ]
 
 [[package]]
 name = "value-bag"
-version = "1.0.0-alpha.8"
+version = "1.0.0-alpha.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f"
+checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
 dependencies = [
  "ctor",
  "version_check",
@@ -1721,9 +1543,9 @@
 
 [[package]]
 name = "version_check"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "waker-fn"
@@ -1743,15 +1565,15 @@
 
 [[package]]
 name = "wasi"
-version = "0.10.2+wasi-snapshot-preview1"
+version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.78"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -1759,13 +1581,13 @@
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.78"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
 dependencies = [
  "bumpalo",
- "lazy_static",
  "log",
+ "once_cell",
  "proc-macro2",
  "quote",
  "syn",
@@ -1774,9 +1596,9 @@
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.28"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39"
+checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -1786,9 +1608,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.78"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1796,9 +1618,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.78"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1809,21 +1631,40 @@
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.78"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
 
 [[package]]
 name = "web-sys"
-version = "0.3.55"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
 ]
 
 [[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.22.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
+dependencies = [
+ "webpki",
+]
+
+[[package]]
 name = "wepoll-ffi"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1855,10 +1696,100 @@
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "winreg"
-version = "0.7.0"
+name = "windows-sys"
+version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+
+[[package]]
+name = "winnow"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf09497b8f8b5ac5d3bb4d05c0a99be20f26fd3d5f2db7b0716e946d5103658"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
 dependencies = [
  "winapi",
 ]
diff --git a/examples/crate_universe/multi_package/pkg_a/Cargo.toml b/examples/crate_universe/multi_package/pkg_a/Cargo.toml
index 2005a59..00ea88d 100644
--- a/examples/crate_universe/multi_package/pkg_a/Cargo.toml
+++ b/examples/crate_universe/multi_package/pkg_a/Cargo.toml
@@ -7,7 +7,13 @@
 
 [dependencies]
 anyhow = "1.0.44"
-reqwest = { version = "0.11.4", features = ["blocking", "json"] }
+reqwest = { default-features = false, version = "0.11.4", features = ["blocking", "json", "rustls-tls"] }
 
 [dev-dependencies]
-httpmock = "0.6.2"
+# Pin to a version of `httmock` that supports `rustls`.
+# See https://github.com/alexliesenfeld/httpmock/pull/72
+httpmock = { default-features = false, features = ["rustls"], git = "https://github.com/alexliesenfeld/httpmock.git", rev = "9ecf35255ee154986bc36d06473f1fa088586ad9" }
+
+[patch.crates-io]
+# See httmock comment.
+isahc = { git = "https://github.com/sagebind/isahc.git", rev = "096aff7b13f4ff5bb474fdc27bc30b297a2968f6" }
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/BUILD.bazel b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/BUILD.bazel
index 8ede88d..fbe5fa4 100644
--- a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/BUILD.bazel
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/BUILD.bazel
@@ -5,14 +5,12 @@
     name = "pkg_b",
     srcs = glob(["src/**/*.rs"]),
     aliases = aliases(),
+    compile_data = glob([
+        "data/**/*.fullchain",
+        "data/**/*.key",
+        "data/**/*.cert",
+    ]),
     proc_macro_deps = all_crate_deps(proc_macro = True),
-    # TODO: There's an issue building OpenSSL on Windows in GitHub CI so for
-    # now all targets that depend on it are disabled
-    target_compatible_with = select({
-        "@platforms//os:linux": [],
-        "@platforms//os:macos": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
     deps = all_crate_deps(normal = True),
 )
 
@@ -21,12 +19,5 @@
     aliases = aliases(),
     crate = ":pkg_b",
     proc_macro_deps = all_crate_deps(proc_macro_dev = True),
-    # TODO: There's an issue building OpenSSL on Windows in GitHub CI so for
-    # now all targets that depend on it are disabled
-    target_compatible_with = select({
-        "@platforms//os:linux": [],
-        "@platforms//os:macos": [],
-        "//conditions:default": ["@platforms//:incompatible"],
-    }),
     deps = all_crate_deps(normal_dev = True),
 )
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.lock b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.lock
index 78dff50..dcd4323 100644
--- a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.lock
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.lock
@@ -3,22 +3,16 @@
 version = 3
 
 [[package]]
-name = "autocfg"
-version = "1.0.1"
+name = "bumpalo"
+version = "3.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
 
 [[package]]
 name = "cc"
-version = "1.0.71"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
 
 [[package]]
 name = "cfg-if"
@@ -27,74 +21,218 @@
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "foreign-types"
-version = "0.3.2"
+name = "js-sys"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
 dependencies = [
- "foreign-types-shared",
+ "wasm-bindgen",
 ]
 
 [[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
 name = "libc"
-version = "0.2.107"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
 
 [[package]]
 name = "once_cell"
-version = "1.8.0"
+version = "1.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
-
-[[package]]
-name = "openssl"
-version = "0.10.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
-dependencies = [
- "bitflags",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.70"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6517987b3f8226b5da3661dad65ff7f300cc59fb5ea8333ca191fc65fde3edf"
-dependencies = [
- "autocfg",
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "pkg-config"
-version = "0.3.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
 
 [[package]]
 name = "pkg_b"
 version = "0.1.0"
 dependencies = [
- "openssl",
+ "rustls",
 ]
 
 [[package]]
-name = "vcpkg"
-version = "0.2.15"
+name = "proc-macro2"
+version = "1.0.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+
+[[package]]
+name = "web-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.toml b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.toml
index fbc4c51..395f427 100644
--- a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.toml
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/Cargo.toml
@@ -6,4 +6,5 @@
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-openssl = "0.10.36"
+rustls = "0.20.8"
+rustls-pemfile = "1.0.2"
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/ca.cert b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/ca.cert
new file mode 100644
index 0000000..4b076bd
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/ca.cert
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE-----
+MIIByjCCAVCgAwIBAgIUSA11/39PY7uM9Nc2ITnV1eHzaKYwCgYIKoZIzj0EAwIw
+HDEaMBgGA1UEAwwRcG9ueXRvd24gRUNEU0EgQ0EwHhcNMTkwNjA5MTcxNTEyWhcN
+MjkwNjA2MTcxNTEyWjAcMRowGAYDVQQDDBFwb255dG93biBFQ0RTQSBDQTB2MBAG
+ByqGSM49AgEGBSuBBAAiA2IABLsXWEKs2xXCgW1OcC63pCPjQo0q3VnPc1J24n6m
+Xwxpg398nzR4n3iHcYA0pKgEneBstSOsXOhbNZ09DAvEr3iSc8ByWWntEbWVjY3g
+9Kt6Q6Y1sXGkaUIiP9be5lIQRaNTMFEwHQYDVR0OBBYEFKD72TTU/GXhb3/D1/Z7
+hD/ZG6lKMB8GA1UdIwQYMBaAFKD72TTU/GXhb3/D1/Z7hD/ZG6lKMA8GA1UdEwEB
+/wQFMAMBAf8wCgYIKoZIzj0EAwIDaAAwZQIxAL9FtbNV7i9trxukhakfTvbXCHgE
+2pIOT5r/Vc5kSrPU4vJu2MOJz6X/JCX15IbZlQIwJxYfsD8QTQf8J9bP9Pq4SY71
+obja/vQ6UBixlRB5vDSG0UuukL4kzlyUKpHkwUcj
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/client.fullchain b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/client.fullchain
new file mode 100644
index 0000000..8f9c2b4
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/client.fullchain
@@ -0,0 +1,37 @@
+-----BEGIN CERTIFICATE-----
+MIIB8jCCAZegAwIBAgICAxUwCgYIKoZIzj0EAwIwLjEsMCoGA1UEAwwjcG9ueXRv
+d24gRUNEU0EgbGV2ZWwgMiBpbnRlcm1lZGlhdGUwHhcNMTkwNjA5MTcxNTEyWhcN
+MjQxMTI5MTcxNTEyWjAaMRgwFgYDVQQDDA9wb255dG93biBjbGllbnQwdjAQBgcq
+hkjOPQIBBgUrgQQAIgNiAATx0R97foSC0Ra9a13pJzfI1hh3G6476MIMslLHxg5w
+wCG8k5mMHia2hGOBbdGjoY0C1wJLNrUSov5SfcsYX6/VjHQH/elmb/KOO1AGwPD7
+1yD1+DG/cjK1okLZIVhbSQyjgZswgZgwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMC
+BsAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFFBkko+0OE2piFRx
+h9m2UonFYQFEMEQGA1UdIwQ9MDuAFD93gjUQ7CX28Dy5NlFYfYh8XlKSoSCkHjAc
+MRowGAYDVQQDDBFwb255dG93biBFQ0RTQSBDQYIBezAKBggqhkjOPQQDAgNJADBG
+AiEAvyquOUQlqAWkSlfwH3nYNmmEG9CT/jjzNs1OBr1RD6ACIQDtmqdbttqgqKAZ
+Wi5lCzftwM6Hy5aA0qy1v80H4xBJyw==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIBuDCCAT2gAwIBAgIBezAKBggqhkjOPQQDAjAcMRowGAYDVQQDDBFwb255dG93
+biBFQ0RTQSBDQTAeFw0xOTA2MDkxNzE1MTJaFw0yOTA2MDYxNzE1MTJaMC4xLDAq
+BgNVBAMMI3Bvbnl0b3duIEVDRFNBIGxldmVsIDIgaW50ZXJtZWRpYXRlMFkwEwYH
+KoZIzj0CAQYIKoZIzj0DAQcDQgAEYtRlPykhT0YLnjcSsbe8rfmJ7ojfWuHImDGx
+DpF5vJ259giO99qFEcZTi7dNvQGBQC6bsUWddTl3Bc7gxiCr3aNeMFwwHQYDVR0O
+BBYEFD93gjUQ7CX28Dy5NlFYfYh8XlKSMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMB
+BggrBgEFBQcDAjAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIB/jAKBggqhkjOPQQD
+AgNpADBmAjEAxdSnB7ryhG+y7tshwxqrFoZEWXpDLQDZGad0+Wf+7hiNoNCDDdIv
+MhYxzCDbTS/lAjEAwjsfrp4gxwoz/6fNfUvHyiA3j9jMd64tapzWy2hoqubKBEum
+EVczk9vVmsiJA5J3
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIByjCCAVCgAwIBAgIUSA11/39PY7uM9Nc2ITnV1eHzaKYwCgYIKoZIzj0EAwIw
+HDEaMBgGA1UEAwwRcG9ueXRvd24gRUNEU0EgQ0EwHhcNMTkwNjA5MTcxNTEyWhcN
+MjkwNjA2MTcxNTEyWjAcMRowGAYDVQQDDBFwb255dG93biBFQ0RTQSBDQTB2MBAG
+ByqGSM49AgEGBSuBBAAiA2IABLsXWEKs2xXCgW1OcC63pCPjQo0q3VnPc1J24n6m
+Xwxpg398nzR4n3iHcYA0pKgEneBstSOsXOhbNZ09DAvEr3iSc8ByWWntEbWVjY3g
+9Kt6Q6Y1sXGkaUIiP9be5lIQRaNTMFEwHQYDVR0OBBYEFKD72TTU/GXhb3/D1/Z7
+hD/ZG6lKMB8GA1UdIwQYMBaAFKD72TTU/GXhb3/D1/Z7hD/ZG6lKMA8GA1UdEwEB
+/wQFMAMBAf8wCgYIKoZIzj0EAwIDaAAwZQIxAL9FtbNV7i9trxukhakfTvbXCHgE
+2pIOT5r/Vc5kSrPU4vJu2MOJz6X/JCX15IbZlQIwJxYfsD8QTQf8J9bP9Pq4SY71
+obja/vQ6UBixlRB5vDSG0UuukL4kzlyUKpHkwUcj
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/client.key b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/client.key
new file mode 100644
index 0000000..412914c
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/client.key
@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDALKtA1q+8ZBeLi2Gsq
+UxFTBxNPPhOuyNRkvwRKis/glf9GgEHgvM0qVaxWnRsdCE6hZANiAATx0R97foSC
+0Ra9a13pJzfI1hh3G6476MIMslLHxg5wwCG8k5mMHia2hGOBbdGjoY0C1wJLNrUS
+ov5SfcsYX6/VjHQH/elmb/KOO1AGwPD71yD1+DG/cjK1okLZIVhbSQw=
+-----END PRIVATE KEY-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/end.fullchain b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/end.fullchain
new file mode 100644
index 0000000..535baef
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/end.fullchain
@@ -0,0 +1,37 @@
+-----BEGIN CERTIFICATE-----
+MIIB9zCCAZ6gAwIBAgICAcgwCgYIKoZIzj0EAwIwLjEsMCoGA1UEAwwjcG9ueXRv
+d24gRUNEU0EgbGV2ZWwgMiBpbnRlcm1lZGlhdGUwHhcNMTkwNjA5MTcxNTEyWhcN
+MjQxMTI5MTcxNTEyWjAZMRcwFQYDVQQDDA50ZXN0c2VydmVyLmNvbTBZMBMGByqG
+SM49AgEGCCqGSM49AwEHA0IABPprdHsWc3TtNne2409qO+fC9OFiiXFevQwJjUUC
+J/X0ihomRsHAnrJvcNyOEWsdu7OwOj4PD9QFMifDEHGYtHOjgcAwgb0wDAYDVR0T
+AQH/BAIwADALBgNVHQ8EBAMCBsAwHQYDVR0OBBYEFOXZcb/0+/Xql1fOb4pVblzV
+vUcZMEQGA1UdIwQ9MDuAFD93gjUQ7CX28Dy5NlFYfYh8XlKSoSCkHjAcMRowGAYD
+VQQDDBFwb255dG93biBFQ0RTQSBDQYIBezA7BgNVHREENDAygg50ZXN0c2VydmVy
+LmNvbYIVc2Vjb25kLnRlc3RzZXJ2ZXIuY29tgglsb2NhbGhvc3QwCgYIKoZIzj0E
+AwIDRwAwRAIgXONA4IOh4PbHTuK6oaHtguOIvmxxXCqp8kwJlI1e+MMCICOSrk1F
+e+VsbKeFQlJ6EM65CLTezDUIZKCmoNWvyTGy
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIBuDCCAT2gAwIBAgIBezAKBggqhkjOPQQDAjAcMRowGAYDVQQDDBFwb255dG93
+biBFQ0RTQSBDQTAeFw0xOTA2MDkxNzE1MTJaFw0yOTA2MDYxNzE1MTJaMC4xLDAq
+BgNVBAMMI3Bvbnl0b3duIEVDRFNBIGxldmVsIDIgaW50ZXJtZWRpYXRlMFkwEwYH
+KoZIzj0CAQYIKoZIzj0DAQcDQgAEYtRlPykhT0YLnjcSsbe8rfmJ7ojfWuHImDGx
+DpF5vJ259giO99qFEcZTi7dNvQGBQC6bsUWddTl3Bc7gxiCr3aNeMFwwHQYDVR0O
+BBYEFD93gjUQ7CX28Dy5NlFYfYh8XlKSMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMB
+BggrBgEFBQcDAjAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIB/jAKBggqhkjOPQQD
+AgNpADBmAjEAxdSnB7ryhG+y7tshwxqrFoZEWXpDLQDZGad0+Wf+7hiNoNCDDdIv
+MhYxzCDbTS/lAjEAwjsfrp4gxwoz/6fNfUvHyiA3j9jMd64tapzWy2hoqubKBEum
+EVczk9vVmsiJA5J3
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIByjCCAVCgAwIBAgIUSA11/39PY7uM9Nc2ITnV1eHzaKYwCgYIKoZIzj0EAwIw
+HDEaMBgGA1UEAwwRcG9ueXRvd24gRUNEU0EgQ0EwHhcNMTkwNjA5MTcxNTEyWhcN
+MjkwNjA2MTcxNTEyWjAcMRowGAYDVQQDDBFwb255dG93biBFQ0RTQSBDQTB2MBAG
+ByqGSM49AgEGBSuBBAAiA2IABLsXWEKs2xXCgW1OcC63pCPjQo0q3VnPc1J24n6m
+Xwxpg398nzR4n3iHcYA0pKgEneBstSOsXOhbNZ09DAvEr3iSc8ByWWntEbWVjY3g
+9Kt6Q6Y1sXGkaUIiP9be5lIQRaNTMFEwHQYDVR0OBBYEFKD72TTU/GXhb3/D1/Z7
+hD/ZG6lKMB8GA1UdIwQYMBaAFKD72TTU/GXhb3/D1/Z7hD/ZG6lKMA8GA1UdEwEB
+/wQFMAMBAf8wCgYIKoZIzj0EAwIDaAAwZQIxAL9FtbNV7i9trxukhakfTvbXCHgE
+2pIOT5r/Vc5kSrPU4vJu2MOJz6X/JCX15IbZlQIwJxYfsD8QTQf8J9bP9Pq4SY71
+obja/vQ6UBixlRB5vDSG0UuukL4kzlyUKpHkwUcj
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/end.key b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/end.key
new file mode 100644
index 0000000..a88818c
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/ecdsa/end.key
@@ -0,0 +1,5 @@
+-----BEGIN PRIVATE KEY-----
+MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgdoMBbIGRw+L9but3
+PO4WSJfS8wbvUNrF1VuQjsDVMKmhRANCAAT6a3R7FnN07TZ3tuNPajvnwvThYolx
+Xr0MCY1FAif19IoaJkbBwJ6yb3DcjhFrHbuzsDo+Dw/UBTInwxBxmLRz
+-----END PRIVATE KEY-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/ca.cert b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/ca.cert
new file mode 100644
index 0000000..3194b79
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/ca.cert
@@ -0,0 +1,9 @@
+-----BEGIN CERTIFICATE-----
+MIIBTDCB/6ADAgECAhRXcvbYynz4+usVvPtJp++sBUih3TAFBgMrZXAwHDEaMBgG
+A1UEAwwRcG9ueXRvd24gRWREU0EgQ0EwHhcNMTkwODE2MTMyODUwWhcNMjkwODEz
+MTMyODUwWjAcMRowGAYDVQQDDBFwb255dG93biBFZERTQSBDQTAqMAUGAytlcAMh
+AIE4tLweIfcBGfhPqyXFp5pjVxjaiKk+9fTbRy46jAFKo1MwUTAdBgNVHQ4EFgQU
+z5b9HjkOxffbtCZhWGg+bnxuD6wwHwYDVR0jBBgwFoAUz5b9HjkOxffbtCZhWGg+
+bnxuD6wwDwYDVR0TAQH/BAUwAwEB/zAFBgMrZXADQQBNlt7z4bZ7KhzecxZEe3i5
+lH9MRqbpP9Rg4HyzAJfTzFGT183HoJiISdPLbxwMn0KaqSGlVe+9GgNKswoaRAwH
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/client.fullchain b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/client.fullchain
new file mode 100644
index 0000000..0659d50
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/client.fullchain
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIBlDCCAUagAwIBAgICAxUwBQYDK2VwMC4xLDAqBgNVBAMMI3Bvbnl0b3duIEVk
+RFNBIGxldmVsIDIgaW50ZXJtZWRpYXRlMB4XDTE5MDgxNjEzMjg1MVoXDTI1MDIw
+NTEzMjg1MVowGjEYMBYGA1UEAwwPcG9ueXRvd24gY2xpZW50MCowBQYDK2VwAyEA
+uCBt6D15TvwyMNP5/nRo9v38yGIeSGQCM1tjyzXFGHWjgZswgZgwDAYDVR0TAQH/
+BAIwADALBgNVHQ8EBAMCBsAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwHQYDVR0O
+BBYEFHdQ+goYXFvGem83oCHVJ87Ak0fyMEQGA1UdIwQ9MDuAFBcSMFONOrRtwrD1
+pB1qn7lE+PGroSCkHjAcMRowGAYDVQQDDBFwb255dG93biBFZERTQSBDQYIBezAF
+BgMrZXADQQA4GfyvVIs/xQQTv3igqhzabhraQKEd4z2HHudJgdHHV7M7yfuNqN3x
+NCr3hfDfUQuEOgm02d9Q4TZfik+czUML
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIBVzCCAQmgAwIBAgIBezAFBgMrZXAwHDEaMBgGA1UEAwwRcG9ueXRvd24gRWRE
+U0EgQ0EwHhcNMTkwODE2MTMyODUxWhcNMjkwODEzMTMyODUxWjAuMSwwKgYDVQQD
+DCNwb255dG93biBFZERTQSBsZXZlbCAyIGludGVybWVkaWF0ZTAqMAUGAytlcAMh
+AD4h3t0UCoMDGgIq4UW4P5zDngsY4vy1pE3wzLPFI4Vdo14wXDAdBgNVHQ4EFgQU
+FxIwU406tG3CsPWkHWqfuUT48aswIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsG
+AQUFBwMCMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgH+MAUGAytlcANBAAZFvMek
+Z71I8CXsBmx/0E6Weoaan9mJHgKqgQdK4w4h4dRg6DjNG957IbrLFO3vZduBMnna
+qHP3xTFF+11Eyg8=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIBTDCB/6ADAgECAhRXcvbYynz4+usVvPtJp++sBUih3TAFBgMrZXAwHDEaMBgG
+A1UEAwwRcG9ueXRvd24gRWREU0EgQ0EwHhcNMTkwODE2MTMyODUwWhcNMjkwODEz
+MTMyODUwWjAcMRowGAYDVQQDDBFwb255dG93biBFZERTQSBDQTAqMAUGAytlcAMh
+AIE4tLweIfcBGfhPqyXFp5pjVxjaiKk+9fTbRy46jAFKo1MwUTAdBgNVHQ4EFgQU
+z5b9HjkOxffbtCZhWGg+bnxuD6wwHwYDVR0jBBgwFoAUz5b9HjkOxffbtCZhWGg+
+bnxuD6wwDwYDVR0TAQH/BAUwAwEB/zAFBgMrZXADQQBNlt7z4bZ7KhzecxZEe3i5
+lH9MRqbpP9Rg4HyzAJfTzFGT183HoJiISdPLbxwMn0KaqSGlVe+9GgNKswoaRAwH
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/client.key b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/client.key
new file mode 100644
index 0000000..a6f5811
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/client.key
@@ -0,0 +1,3 @@
+-----BEGIN PRIVATE KEY-----
+MC4CAQAwBQYDK2VwBCIEILxmhRq5n4/1iik9J5wfqy6VC6pff4Lxu2wWQd2YUWy7
+-----END PRIVATE KEY-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/end.fullchain b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/end.fullchain
new file mode 100644
index 0000000..b7db426
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/end.fullchain
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIBuDCCAWqgAwIBAgICAcgwBQYDK2VwMC4xLDAqBgNVBAMMI3Bvbnl0b3duIEVk
+RFNBIGxldmVsIDIgaW50ZXJtZWRpYXRlMB4XDTE5MDgxNjEzMjg1MVoXDTI1MDIw
+NTEzMjg1MVowGTEXMBUGA1UEAwwOdGVzdHNlcnZlci5jb20wKjAFBgMrZXADIQAQ
+9M4hrE+Ucw4QUmaKOeKfphklBJi1qsqtX4u+knbseqOBwDCBvTAMBgNVHRMBAf8E
+AjAAMAsGA1UdDwQEAwIGwDAdBgNVHQ4EFgQUa/gnV4+a22BUKTouAYX6nfLnPKYw
+RAYDVR0jBD0wO4AUFxIwU406tG3CsPWkHWqfuUT48auhIKQeMBwxGjAYBgNVBAMM
+EXBvbnl0b3duIEVkRFNBIENBggF7MDsGA1UdEQQ0MDKCDnRlc3RzZXJ2ZXIuY29t
+ghVzZWNvbmQudGVzdHNlcnZlci5jb22CCWxvY2FsaG9zdDAFBgMrZXADQQApDiBQ
+ns3fuvsWuFpIS+osj2B/gQ0b6eBAZ1UBxRyDlAo5++JZ0PtaEROyGo2t2gqi2Lyz
+47mLyGCvqgVbC6cH
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIBVzCCAQmgAwIBAgIBezAFBgMrZXAwHDEaMBgGA1UEAwwRcG9ueXRvd24gRWRE
+U0EgQ0EwHhcNMTkwODE2MTMyODUxWhcNMjkwODEzMTMyODUxWjAuMSwwKgYDVQQD
+DCNwb255dG93biBFZERTQSBsZXZlbCAyIGludGVybWVkaWF0ZTAqMAUGAytlcAMh
+AD4h3t0UCoMDGgIq4UW4P5zDngsY4vy1pE3wzLPFI4Vdo14wXDAdBgNVHQ4EFgQU
+FxIwU406tG3CsPWkHWqfuUT48aswIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsG
+AQUFBwMCMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgH+MAUGAytlcANBAAZFvMek
+Z71I8CXsBmx/0E6Weoaan9mJHgKqgQdK4w4h4dRg6DjNG957IbrLFO3vZduBMnna
+qHP3xTFF+11Eyg8=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIBTDCB/6ADAgECAhRXcvbYynz4+usVvPtJp++sBUih3TAFBgMrZXAwHDEaMBgG
+A1UEAwwRcG9ueXRvd24gRWREU0EgQ0EwHhcNMTkwODE2MTMyODUwWhcNMjkwODEz
+MTMyODUwWjAcMRowGAYDVQQDDBFwb255dG93biBFZERTQSBDQTAqMAUGAytlcAMh
+AIE4tLweIfcBGfhPqyXFp5pjVxjaiKk+9fTbRy46jAFKo1MwUTAdBgNVHQ4EFgQU
+z5b9HjkOxffbtCZhWGg+bnxuD6wwHwYDVR0jBBgwFoAUz5b9HjkOxffbtCZhWGg+
+bnxuD6wwDwYDVR0TAQH/BAUwAwEB/zAFBgMrZXADQQBNlt7z4bZ7KhzecxZEe3i5
+lH9MRqbpP9Rg4HyzAJfTzFGT183HoJiISdPLbxwMn0KaqSGlVe+9GgNKswoaRAwH
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/end.key b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/end.key
new file mode 100644
index 0000000..4ccdedd
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/eddsa/end.key
@@ -0,0 +1,3 @@
+-----BEGIN PRIVATE KEY-----
+MC4CAQAwBQYDK2VwBCIEIIiUvLIIxxyQc8neh50+0DVq3qRWWwbEFng5No2RyDxo
+-----END PRIVATE KEY-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/ca.cert b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/ca.cert
new file mode 100644
index 0000000..3a84cbe
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/ca.cert
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFFTCCAv2gAwIBAgIUGXgsGl4sGhiPwUPOme5w5jJscVQwDQYJKoZIhvcNAQEL
+BQAwGjEYMBYGA1UEAwwPcG9ueXRvd24gUlNBIENBMB4XDTE5MDYwOTE3MTUxMVoX
+DTI5MDYwNjE3MTUxMVowGjEYMBYGA1UEAwwPcG9ueXRvd24gUlNBIENBMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArpW4WHfSmTCMvnDJaCRL5BR2knDc
+C+T4/wv7i//zsBL3q0YVdBpllWCZx8TSfuXT/1o/Zxdt+H1ZjnH8yuwuHOToE3W0
++Y/912hAPiD+d79A+MtqVX1gayjHDy9HybznTN2Onh1ZhWyks0FLL5SB0vVCLwXP
+W7tcyY0w6wn3RTw4nBu7co5a280cHgHv5V3XeNgteQrnkXE9TfuqqUZwVt0v1jr1
+bk1KaDDD+36wfeO70Q6CeLwKPhN0mPDHdj/lecj4efl0l1B0ehHxLkLuztqtkCF6
++yMoBrEyzJjO6TGMSTMsnw4F9bA15jkIIEQs5FhwVHFOTmu5BG+j37umoy27k5As
+5cV0/djr3r8WhBZ6w2+XjvbAdJPgqc+Xobnx1i5GI4noRC4G4Cl0Vx+iRru1/nsE
+xPazz9UVkiUsDlN9n49f1pik9z74Box6CD6IZVb8h4vV7um+0R4/eErVf/Cyf1Xe
+axVaOgA/CD0ucLdSfDz61O/2PG3P7YjWY1R9zr35e8pakgyFPXnWMbsfniuGkM0X
+6lG743Q7yVt38/HuAqi1AGq+r/AKisrezt97UNm0CryuEk02y4SVLbhuG/V6mBCh
+4Va3KD1ZOgfJcTZbuxebIz6W+5jL80hE0YwBBs8vSv8Fo5N7dYNSNvyMxkoPh8Gw
+CAFyqt5zBLGCEvkCAwEAAaNTMFEwHQYDVR0OBBYEFDjj6hEpDZdjAIdvd9Moe3un
+RvJWMB8GA1UdIwQYMBaAFDjj6hEpDZdjAIdvd9Moe3unRvJWMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggIBACu+Ct6J+Dh3EXFOgjW3gN3CaD0UK0kW
+03u7znNAJBAYhi+MXSTPBdrxYGOPkHF1Jl15qb2fc58+0nakf8bvah8kgxi2ujX8
+vrPBjsAv/ixPvUrcol9ZGrseP5DdFS8pw1FoDR/JdgNCdSM4xC3GSk2SLYs+QSJx
+YG3nQLOAZEvnbiZ4zBZ0wVct4w9jrxtqdq2eS8cLoRVx715MzKPBCGEccYu/py5a
+gkyclr16s0mb+wN49of34AQ+xXguHZGNZzCy6PTbx0IC+sRVe82+RZkj21JG+AFM
+9s+vLgRdtWIEZW1AIYbUUbhuvsne+sidZW5XQuFp1V4LlQbO49oEhrPMBn+oHKg5
+MWIe68bjkqDSnDzG+TEBTWiAhyyGyZcebfCs72DGbYrfKt1uTyi+groumPnvQfJB
+y3kqy2pUFeEkNJkx4BfYL+N7I07s9WTy8UMoqn/OLuyqoFaYMd9XMaOOx3xTy8aw
+pUJ69c3VI66W/Ii1ypk2EPUImWpG/n89Y/8Mk1NbesaZLk9feTDfbM4VNPkQU+7T
+3DNQxPSswSh4nXGURwC46SOu2s1lRA98ZXkP5XhUvTuvfg/e4suq26OqjORHQ5zI
+57NP+uHRrfHGlrQ196j1Maw7W7vkocbEv8/06v6s54CG8ezzD2nt1QrLJqSpUqHo
+qolvgn/PK+gg
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/client.fullchain b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/client.fullchain
new file mode 100644
index 0000000..ca91469
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/client.fullchain
@@ -0,0 +1,80 @@
+-----BEGIN CERTIFICATE-----
+MIID3DCCAkSgAwIBAgICAxUwDQYJKoZIhvcNAQELBQAwLDEqMCgGA1UEAwwhcG9u
+eXRvd24gUlNBIGxldmVsIDIgaW50ZXJtZWRpYXRlMB4XDTE5MDYwOTE3MTUxMloX
+DTI0MTEyOTE3MTUxMlowGjEYMBYGA1UEAwwPcG9ueXRvd24gY2xpZW50MIIBIjAN
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+3EWMfp30PLlO+8QOvoQuAs3wa8
+WXIoBH3KncsGS6uyQXPpQRGW9I9tDBi0JGd/l4aLz4TMKtSIqDHEyoyIHaN9zQCd
+8CgthdMN4BZ7PIzq3hTzW6CRC5GL7v16vt5szNov6HH12K1/UtUx1fclcRYKqrz1
+HU98rPfdsbt6AdbWRBBAUjiRwi28swBaU1MR8erXhFhSRxK5v2gSxga9aAfG+KpN
+LAQ6VVyDZhRAvM34NPHG8PQ6wP6kmifsGP90N7XZkx/VB/+cscykQZzq/jUfSEXm
+DnC09vufsmRuz6+4QoZroSl9jyioj1vdPK0QkGh0s35NN/o/ryJbTM6EOwIDAQAB
+o4GZMIGWMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMBYGA1UdJQEB/wQMMAoG
+CCsGAQUFBwMCMB0GA1UdDgQWBBRvtldlhopGZTkUxse9V/4dKKXtzTBCBgNVHSME
+OzA5gBRCj8vIR2VWs6byLMRXBqOGK5BJMKEepBwwGjEYMBYGA1UEAwwPcG9ueXRv
+d24gUlNBIENBggF7MA0GCSqGSIb3DQEBCwUAA4IBgQAKMj/VsEZFTRbjLFxkZOTD
+SYL07z14VCSq/XjmoeadwZoJ1R6Q3HXi1+vaW3LKdldAATnddgSRA0gjM62SU1d/
+TCg53lnylVO7HeJpOAhoXmlv4p9sxuN7Ye0l9rLEYEOmDNBWgT39KGsuJZ9EkrAS
+28Sxx2TSgqELxxz90uF9nMoM0p51pqP9Y65SbVXEDYauNm2DHHbvjeLLTZTSFCkJ
+mWC7t49zaMpcj68jQpV7DNRYqZzB8ceMn8Sr5Kzzy2Oc7qos+7RiYOkkA81z1iGx
+ibYcbsR1Jayb7E95MaNdS9hBNbxMW2CJZDF7fnx6ppJnWzAc4xsm49izfqHj42kJ
+QCb2uq3/AJ/ZlWeYvETjmlDnmwi5Da7q/frgJIWEiecW0MNatCKdoo3Xd4dRztgI
+ITz6ju4+VlRReasd8BsOQyUPMTVRJQHOvHDDjRJFAUAK8XtU1Hocgx20HYixqzyb
+Q6Tj5hchzfjddvsWYp9wlEwfQjDC3TYJxRfHQAiFm4Q=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIEnzCCAoegAwIBAgIBezANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDDA9wb255
+dG93biBSU0EgQ0EwHhcNMTkwNjA5MTcxNTEyWhcNMjkwNjA2MTcxNTEyWjAsMSow
+KAYDVQQDDCFwb255dG93biBSU0EgbGV2ZWwgMiBpbnRlcm1lZGlhdGUwggGiMA0G
+CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCj/tOFeSW3WB+TtuLCR1L/84lZytFw
+zbpzOTGB1kPEKNbrMsv3lHXm5bHa8Bl3k113k7Hi7OAt/nkMm05s8LcUoovhaG5C
+G7tjzL+ld1nO74gNS3IQHCzxRdRwIgaDZHyICfBQBfB9/m+9z3yRtOKWJl6i/MT9
+HRN6yADW/8gHFlMzRkCKBjIKXehKsu8cbtB+5MukwtXI4rKf9aYXZQOEUn1kEwQJ
+ZIKBXR0eyloQiZervUE7meRCTBvzXT9VoSEX49/mempp4hnfdHlRNzre4/tphBf1
+fRUdpVXZ3DvmzoHdXRVzxx3X5LvDpf7Eb3ViGkXDFwkSfHEhkRnAl4lIzTH/1F25
+stmT8a0PA/lCNMrzJBzkLcuem1G1uMHoQZo1f3OpslJ8gHbE9ZlIbIKmpmJS9oop
+Vh1BH+aOy5doCrF8uOLTQ3d5CqA/EZMGahDHy7IkeNYmG/RXUKNltv+r95gwuRP+
+9UIJ9FTa4REQbIpGWP5XibI6x4LqLTJj+VsCAwEAAaNeMFwwHQYDVR0OBBYEFEKP
+y8hHZVazpvIsxFcGo4YrkEkwMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMBBggrBgEF
+BQcDAjAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIB/jANBgkqhkiG9w0BAQsFAAOC
+AgEAMzTRDLBExVFlw98AuX+pM+/R2Gjw5KFHvSYLKLbMRfuuZK1yNYYaYtNrtF+V
+a53OFgaZj56o7tXc2PB8kw4MELD0ViR8Do2bvZieFcEe4DwhdjGCjuLehVLT29qI
+7T3N/JkJ5daemKZcRB6Ne0F4+6QlVVNck28HUKbQThl88RdwLUImmSAfgKSt6uJ5
+wlH7wiYQR2vPXwSuEYzwot+L/91eBwuQr4Lovx9+TCKTbwQOKYjX4KfcOOQ1rx0M
+IMrvwWqnabc6m1F0O6//ibL0kuFkJYEgOH2uJA12FBHO+/q2tcytejkOWKWMJj6Y
+2etwIHcpzXaEP7fZ75cFGqcE3s7XGsweBIPLjMP1bKxEcFKzygURm/auUuXBCFBl
+E16PB6JEAeCKe/8VFeyucvjPuQDWB49aq+r2SbpbI4IeZdz/QgEIOb0MpwStrvhH
+9f/DtGMbjvuAEkRoOorK4m5k4GY3LsWTR2bey27AXk8N7pKarpu2N7ChBPm+EV0Y
+H+tAI/OfdZuNUCES00F5UAFdU8zBUZo19ao2ZqfEADimE7Epk2s0bUe4GSqEXJp6
+68oVSMhZmMf/RCSNlr97f34sNiUA1YJ0JbCRZmw8KWNm9H1PARLbrgeRBZ/k31Li
+WLDr3fiEVk7SGxj3zo94cS6AT55DyXLiSD/bFmL1QXgZweA=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFFTCCAv2gAwIBAgIUGXgsGl4sGhiPwUPOme5w5jJscVQwDQYJKoZIhvcNAQEL
+BQAwGjEYMBYGA1UEAwwPcG9ueXRvd24gUlNBIENBMB4XDTE5MDYwOTE3MTUxMVoX
+DTI5MDYwNjE3MTUxMVowGjEYMBYGA1UEAwwPcG9ueXRvd24gUlNBIENBMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArpW4WHfSmTCMvnDJaCRL5BR2knDc
+C+T4/wv7i//zsBL3q0YVdBpllWCZx8TSfuXT/1o/Zxdt+H1ZjnH8yuwuHOToE3W0
++Y/912hAPiD+d79A+MtqVX1gayjHDy9HybznTN2Onh1ZhWyks0FLL5SB0vVCLwXP
+W7tcyY0w6wn3RTw4nBu7co5a280cHgHv5V3XeNgteQrnkXE9TfuqqUZwVt0v1jr1
+bk1KaDDD+36wfeO70Q6CeLwKPhN0mPDHdj/lecj4efl0l1B0ehHxLkLuztqtkCF6
++yMoBrEyzJjO6TGMSTMsnw4F9bA15jkIIEQs5FhwVHFOTmu5BG+j37umoy27k5As
+5cV0/djr3r8WhBZ6w2+XjvbAdJPgqc+Xobnx1i5GI4noRC4G4Cl0Vx+iRru1/nsE
+xPazz9UVkiUsDlN9n49f1pik9z74Box6CD6IZVb8h4vV7um+0R4/eErVf/Cyf1Xe
+axVaOgA/CD0ucLdSfDz61O/2PG3P7YjWY1R9zr35e8pakgyFPXnWMbsfniuGkM0X
+6lG743Q7yVt38/HuAqi1AGq+r/AKisrezt97UNm0CryuEk02y4SVLbhuG/V6mBCh
+4Va3KD1ZOgfJcTZbuxebIz6W+5jL80hE0YwBBs8vSv8Fo5N7dYNSNvyMxkoPh8Gw
+CAFyqt5zBLGCEvkCAwEAAaNTMFEwHQYDVR0OBBYEFDjj6hEpDZdjAIdvd9Moe3un
+RvJWMB8GA1UdIwQYMBaAFDjj6hEpDZdjAIdvd9Moe3unRvJWMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggIBACu+Ct6J+Dh3EXFOgjW3gN3CaD0UK0kW
+03u7znNAJBAYhi+MXSTPBdrxYGOPkHF1Jl15qb2fc58+0nakf8bvah8kgxi2ujX8
+vrPBjsAv/ixPvUrcol9ZGrseP5DdFS8pw1FoDR/JdgNCdSM4xC3GSk2SLYs+QSJx
+YG3nQLOAZEvnbiZ4zBZ0wVct4w9jrxtqdq2eS8cLoRVx715MzKPBCGEccYu/py5a
+gkyclr16s0mb+wN49of34AQ+xXguHZGNZzCy6PTbx0IC+sRVe82+RZkj21JG+AFM
+9s+vLgRdtWIEZW1AIYbUUbhuvsne+sidZW5XQuFp1V4LlQbO49oEhrPMBn+oHKg5
+MWIe68bjkqDSnDzG+TEBTWiAhyyGyZcebfCs72DGbYrfKt1uTyi+groumPnvQfJB
+y3kqy2pUFeEkNJkx4BfYL+N7I07s9WTy8UMoqn/OLuyqoFaYMd9XMaOOx3xTy8aw
+pUJ69c3VI66W/Ii1ypk2EPUImWpG/n89Y/8Mk1NbesaZLk9feTDfbM4VNPkQU+7T
+3DNQxPSswSh4nXGURwC46SOu2s1lRA98ZXkP5XhUvTuvfg/e4suq26OqjORHQ5zI
+57NP+uHRrfHGlrQ196j1Maw7W7vkocbEv8/06v6s54CG8ezzD2nt1QrLJqSpUqHo
+qolvgn/PK+gg
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/client.key b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/client.key
new file mode 100644
index 0000000..83fc6af
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/client.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDP7cRYx+nfQ8uU
+77xA6+hC4CzfBrxZcigEfcqdywZLq7JBc+lBEZb0j20MGLQkZ3+XhovPhMwq1Iio
+McTKjIgdo33NAJ3wKC2F0w3gFns8jOreFPNboJELkYvu/Xq+3mzM2i/ocfXYrX9S
+1THV9yVxFgqqvPUdT3ys992xu3oB1tZEEEBSOJHCLbyzAFpTUxHx6teEWFJHErm/
+aBLGBr1oB8b4qk0sBDpVXINmFEC8zfg08cbw9DrA/qSaJ+wY/3Q3tdmTH9UH/5yx
+zKRBnOr+NR9IReYOcLT2+5+yZG7Pr7hChmuhKX2PKKiPW908rRCQaHSzfk03+j+v
+IltMzoQ7AgMBAAECggEAEcefFohhszm02tN1IYgKoE1TCO8mg++DBH9NKBkIPMg9
+weMLewjqA5eQF4y1Oreu7WIP6nrMio0J8nfu//LsYLxuMW1wE+0bl2nosdS6TP8v
+xjW8aYVdYcPcV19Nc6zJWOr/Vb0I7LJJROf+DvHHPdhIqTjnLM5zNscrKduCH038
+JD7WVU8fYhYJUrsR33utN/XubKwAx6Kf6wBQg3qCccHluPDPrKXNTEsua8xE7Y0n
+Lm6gM++YEqBmBhCBUwDNQc6KCu/SJSQl5HjTrNdyAxDMUNaQ+rWmrOc2vxhJpFVs
+jJkUwTOg+aw84naTq5P69BUpZAsMpLg6eO5v9O23oQKBgQDsjuMv6D6vQ6FWbdvr
+AYsrD4x6b4u+p99t7y1+npjHMWXptjsXLFnM1w+01fpZNYUd1gWp9wAA3I4FVegn
+uOR5DHbcptas2RzMLWvqVOj05feE+Oi6F5LZXxoM4KIvM0nYcKRs4oxI8IrY+bLM
+Kz2xWxQyOZtCpG95/PgRMBLaVwKBgQDhBIaqQ1qyv1n+ckICTDpwfnS64kF0kyrp
+P906QxDdt0GXVAsMc/7CLsrDpVt4WPWtzfADRxLsf17eMdxkSJ6ITCVpwrjA5g5Y
+/E4U2KSqJf/ekzTji9n1Du6+7woGwSstwHMEq5fOmUMPx+9Rp6b85gVBJFnIQdLN
+rtWlgSf+vQKBgDVDJtwOiq6jp5vyOGX9fvw/D/4xR2GyIph6FeBAjV2sPaoVodBh
+6AY7Fgo9c5TKfCJvoe7W8mU/Q6rn4NGwy6CFse2Ukxlv+Q/v2jB01c7uSIDkGmJs
+FGBlDVSA74N5JNNa6Wqqx7NUla6s6hkWU1mvjCiS1+Z1Z7QrxR75mAUZAoGADz94
+RKdlyQEQfx6M/Izf1OmszVExsE2ctcufGSicRvn5FuEaEpD1rYDwOovFBAW7ODjh
+T8eML7x92D62uZD2NTQ7wMvyKxgr1rnaLK11kxYaHaIKDnVWorWNViDqpASJAYOu
+B539HoHiOnqI7BaZST/pET3+W4SiXU/AqIN1C10CgYB0vT7kbuBCLui50u3+KInl
+BULxPB7FwwbGLwP335fGjpmfN77zlQn+bovHtI7bylC4LkENIBj031vqiGWQNFd6
+B1WMzZgQeJ0CO4Yaek8JaPI727kPgF+VoYs71whWWdH863NHs+ZK+Gt8fPlUAhP8
+BfXkZH0k+K+gSYfZiP1C4A==
+-----END PRIVATE KEY-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/end.fullchain b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/end.fullchain
new file mode 100644
index 0000000..380ec76
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/end.fullchain
@@ -0,0 +1,81 @@
+-----BEGIN CERTIFICATE-----
+MIIEADCCAmigAwIBAgICAcgwDQYJKoZIhvcNAQELBQAwLDEqMCgGA1UEAwwhcG9u
+eXRvd24gUlNBIGxldmVsIDIgaW50ZXJtZWRpYXRlMB4XDTE5MDYwOTE3MTUxMloX
+DTI0MTEyOTE3MTUxMlowGTEXMBUGA1UEAwwOdGVzdHNlcnZlci5jb20wggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdwbEc6ZKih4mQA916JwctBZgnRmzO
+KERrzlHjfzy8ZfsUJLENQBN8s3RVRwPThReHdp8bpiVRrNmMRxyXoa5oqxWDjXOu
+5W4hoISIMbOAq4Kj8G+eS0UKwypKHwJ1aUzEjWQGKxNpIYvcGqwYpN1Yi1+qTgLg
+2qw1ENtBhrWHhmQruGqDtQTQLe2tbcOuGhIL0cyWIRtEWHWL/wb1Akzhm31WQF+m
+URtYvYonA/Ta7ErONXCxsEXndTR4iT/XognnOhTJ+uIinNwn52y9Te7MYix6SDBE
+VeKZx9v3iOYU81zXf+WaxNqZvTfbPjkLsXiymOgVfGQcO4hiQeLoJIHXAgMBAAGj
+gb4wgbswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwHQYDVR0OBBYEFEweXJqS
+BzVcf/00QeOC29OwBQszMEIGA1UdIwQ7MDmAFEKPy8hHZVazpvIsxFcGo4YrkEkw
+oR6kHDAaMRgwFgYDVQQDDA9wb255dG93biBSU0EgQ0GCAXswOwYDVR0RBDQwMoIO
+dGVzdHNlcnZlci5jb22CFXNlY29uZC50ZXN0c2VydmVyLmNvbYIJbG9jYWxob3N0
+MA0GCSqGSIb3DQEBCwUAA4IBgQCViHp2pLcIMzl/wN+sULznLYZvrlynU4AHnL8/
+ba6iSAM6EMlrcu11+UBQglHIN2BEn+Jjas+HT1sQOIOixMgjrMBgirLez8n5DN66
+o5aK5bu23GjQvzq5JEh0skQDHtSFX0YRwqXIhi1spGtObsnoupxJNBQbdAcDv50/
+m6/8WXcPbXBnR+wRywFmjb6+OSVNgCRtBFTbR5XRVHMPEwvSk4hVj4jimlnPHZYL
+3VatCPtZr6iaLZl9E64BbS+J4vPQ0Z/2JMUjtXCuj19k8LO2TTTBz54QVoMF5jrZ
+xotneq+wmPH3lmozEOmyj4+4CmoyNz+RDhrlok84x3g4YEKUQyK1V4ROi9DtL1CV
+VoLfHSwS9SiDdD/Qn2n7RICn6DP2lHozICyHX0Op4W+vETHho7Flsw21bMisAGrl
+wwQ7UYU4XfPOC9hQoCvU60uVe7z+uZvlBY8RwmcW4iFIbfCcPT6Hrom5F1X4Z/dm
+zDW8ZhLDsjUY/D4lUeWjbO1RCHI=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIEnzCCAoegAwIBAgIBezANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDDA9wb255
+dG93biBSU0EgQ0EwHhcNMTkwNjA5MTcxNTEyWhcNMjkwNjA2MTcxNTEyWjAsMSow
+KAYDVQQDDCFwb255dG93biBSU0EgbGV2ZWwgMiBpbnRlcm1lZGlhdGUwggGiMA0G
+CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCj/tOFeSW3WB+TtuLCR1L/84lZytFw
+zbpzOTGB1kPEKNbrMsv3lHXm5bHa8Bl3k113k7Hi7OAt/nkMm05s8LcUoovhaG5C
+G7tjzL+ld1nO74gNS3IQHCzxRdRwIgaDZHyICfBQBfB9/m+9z3yRtOKWJl6i/MT9
+HRN6yADW/8gHFlMzRkCKBjIKXehKsu8cbtB+5MukwtXI4rKf9aYXZQOEUn1kEwQJ
+ZIKBXR0eyloQiZervUE7meRCTBvzXT9VoSEX49/mempp4hnfdHlRNzre4/tphBf1
+fRUdpVXZ3DvmzoHdXRVzxx3X5LvDpf7Eb3ViGkXDFwkSfHEhkRnAl4lIzTH/1F25
+stmT8a0PA/lCNMrzJBzkLcuem1G1uMHoQZo1f3OpslJ8gHbE9ZlIbIKmpmJS9oop
+Vh1BH+aOy5doCrF8uOLTQ3d5CqA/EZMGahDHy7IkeNYmG/RXUKNltv+r95gwuRP+
+9UIJ9FTa4REQbIpGWP5XibI6x4LqLTJj+VsCAwEAAaNeMFwwHQYDVR0OBBYEFEKP
+y8hHZVazpvIsxFcGo4YrkEkwMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMBBggrBgEF
+BQcDAjAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIB/jANBgkqhkiG9w0BAQsFAAOC
+AgEAMzTRDLBExVFlw98AuX+pM+/R2Gjw5KFHvSYLKLbMRfuuZK1yNYYaYtNrtF+V
+a53OFgaZj56o7tXc2PB8kw4MELD0ViR8Do2bvZieFcEe4DwhdjGCjuLehVLT29qI
+7T3N/JkJ5daemKZcRB6Ne0F4+6QlVVNck28HUKbQThl88RdwLUImmSAfgKSt6uJ5
+wlH7wiYQR2vPXwSuEYzwot+L/91eBwuQr4Lovx9+TCKTbwQOKYjX4KfcOOQ1rx0M
+IMrvwWqnabc6m1F0O6//ibL0kuFkJYEgOH2uJA12FBHO+/q2tcytejkOWKWMJj6Y
+2etwIHcpzXaEP7fZ75cFGqcE3s7XGsweBIPLjMP1bKxEcFKzygURm/auUuXBCFBl
+E16PB6JEAeCKe/8VFeyucvjPuQDWB49aq+r2SbpbI4IeZdz/QgEIOb0MpwStrvhH
+9f/DtGMbjvuAEkRoOorK4m5k4GY3LsWTR2bey27AXk8N7pKarpu2N7ChBPm+EV0Y
+H+tAI/OfdZuNUCES00F5UAFdU8zBUZo19ao2ZqfEADimE7Epk2s0bUe4GSqEXJp6
+68oVSMhZmMf/RCSNlr97f34sNiUA1YJ0JbCRZmw8KWNm9H1PARLbrgeRBZ/k31Li
+WLDr3fiEVk7SGxj3zo94cS6AT55DyXLiSD/bFmL1QXgZweA=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFFTCCAv2gAwIBAgIUGXgsGl4sGhiPwUPOme5w5jJscVQwDQYJKoZIhvcNAQEL
+BQAwGjEYMBYGA1UEAwwPcG9ueXRvd24gUlNBIENBMB4XDTE5MDYwOTE3MTUxMVoX
+DTI5MDYwNjE3MTUxMVowGjEYMBYGA1UEAwwPcG9ueXRvd24gUlNBIENBMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArpW4WHfSmTCMvnDJaCRL5BR2knDc
+C+T4/wv7i//zsBL3q0YVdBpllWCZx8TSfuXT/1o/Zxdt+H1ZjnH8yuwuHOToE3W0
++Y/912hAPiD+d79A+MtqVX1gayjHDy9HybznTN2Onh1ZhWyks0FLL5SB0vVCLwXP
+W7tcyY0w6wn3RTw4nBu7co5a280cHgHv5V3XeNgteQrnkXE9TfuqqUZwVt0v1jr1
+bk1KaDDD+36wfeO70Q6CeLwKPhN0mPDHdj/lecj4efl0l1B0ehHxLkLuztqtkCF6
++yMoBrEyzJjO6TGMSTMsnw4F9bA15jkIIEQs5FhwVHFOTmu5BG+j37umoy27k5As
+5cV0/djr3r8WhBZ6w2+XjvbAdJPgqc+Xobnx1i5GI4noRC4G4Cl0Vx+iRru1/nsE
+xPazz9UVkiUsDlN9n49f1pik9z74Box6CD6IZVb8h4vV7um+0R4/eErVf/Cyf1Xe
+axVaOgA/CD0ucLdSfDz61O/2PG3P7YjWY1R9zr35e8pakgyFPXnWMbsfniuGkM0X
+6lG743Q7yVt38/HuAqi1AGq+r/AKisrezt97UNm0CryuEk02y4SVLbhuG/V6mBCh
+4Va3KD1ZOgfJcTZbuxebIz6W+5jL80hE0YwBBs8vSv8Fo5N7dYNSNvyMxkoPh8Gw
+CAFyqt5zBLGCEvkCAwEAAaNTMFEwHQYDVR0OBBYEFDjj6hEpDZdjAIdvd9Moe3un
+RvJWMB8GA1UdIwQYMBaAFDjj6hEpDZdjAIdvd9Moe3unRvJWMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggIBACu+Ct6J+Dh3EXFOgjW3gN3CaD0UK0kW
+03u7znNAJBAYhi+MXSTPBdrxYGOPkHF1Jl15qb2fc58+0nakf8bvah8kgxi2ujX8
+vrPBjsAv/ixPvUrcol9ZGrseP5DdFS8pw1FoDR/JdgNCdSM4xC3GSk2SLYs+QSJx
+YG3nQLOAZEvnbiZ4zBZ0wVct4w9jrxtqdq2eS8cLoRVx715MzKPBCGEccYu/py5a
+gkyclr16s0mb+wN49of34AQ+xXguHZGNZzCy6PTbx0IC+sRVe82+RZkj21JG+AFM
+9s+vLgRdtWIEZW1AIYbUUbhuvsne+sidZW5XQuFp1V4LlQbO49oEhrPMBn+oHKg5
+MWIe68bjkqDSnDzG+TEBTWiAhyyGyZcebfCs72DGbYrfKt1uTyi+groumPnvQfJB
+y3kqy2pUFeEkNJkx4BfYL+N7I07s9WTy8UMoqn/OLuyqoFaYMd9XMaOOx3xTy8aw
+pUJ69c3VI66W/Ii1ypk2EPUImWpG/n89Y/8Mk1NbesaZLk9feTDfbM4VNPkQU+7T
+3DNQxPSswSh4nXGURwC46SOu2s1lRA98ZXkP5XhUvTuvfg/e4suq26OqjORHQ5zI
+57NP+uHRrfHGlrQ196j1Maw7W7vkocbEv8/06v6s54CG8ezzD2nt1QrLJqSpUqHo
+qolvgn/PK+gg
+-----END CERTIFICATE-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/end.key b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/end.key
new file mode 100644
index 0000000..5963744
--- /dev/null
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/data/ca/rsa/end.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDdwbEc6ZKih4mQ
+A916JwctBZgnRmzOKERrzlHjfzy8ZfsUJLENQBN8s3RVRwPThReHdp8bpiVRrNmM
+RxyXoa5oqxWDjXOu5W4hoISIMbOAq4Kj8G+eS0UKwypKHwJ1aUzEjWQGKxNpIYvc
+GqwYpN1Yi1+qTgLg2qw1ENtBhrWHhmQruGqDtQTQLe2tbcOuGhIL0cyWIRtEWHWL
+/wb1Akzhm31WQF+mURtYvYonA/Ta7ErONXCxsEXndTR4iT/XognnOhTJ+uIinNwn
+52y9Te7MYix6SDBEVeKZx9v3iOYU81zXf+WaxNqZvTfbPjkLsXiymOgVfGQcO4hi
+QeLoJIHXAgMBAAECggEATFl3xWCV3+eScUcjZf8x9UpLzJnutDwg8o0inJUeMC9c
+dt77Jni9PN38W7ALnTPhmf45YaeeibRdYnLJYVuFVPwyeAynm7vaYzGE7+9MwixK
+2m7Zv0JjDwWK9eIfUpVinPmhSo5iLHwkTy/PuNxqaSXzVgtt6kTfrZWUJ8ddkL8M
+bMQTvSLByspyZq/9n6Xq4cy1kummrYgluGKrh6+b+3/ff4wTfF9txlecM+te0uoI
+nu5jTRGGSouKKiOWLLkQNPCqrSmy/VfQLkacs3l8Y89Fo4TlBU6MEb02u+fCQ/58
+q1E8Y7J1/Yjv2VTwav9q1EX9/ncA8b2C0K1Ylgh9QQKBgQD2bZwI03z4Zpo1TnxU
+d4r0qWVExY7fP9BfJPEn3KE4zlPXbiiNazMprdFoIUEtKNcl77ZYVcvNLCUDOWzj
+maYtVJm7wuUPcJQU2becuw6N7yZJd9mfXPOiBWmv8Df5AJJymdUcXqMySi9eFr1m
+SwFhrsFRTs8Fo0bGrw8UTMM72QKBgQDmXsHt80+F7YuVUrVMuhTTr/DqwHgqyCQ1
+zQXuOeGDaFPSYzgk6XEPPJU+Kil+bFIY7DaMokVHWvJJ9e9iF8fjflSnp2pp1BWa
+t3D+I3zfX+SCioD8KXcFiMfoH9bqIfBzaQfeMNgqMbR0fpsf/l0n/cwJRQ4KGU7s
+puXqY0aNLwKBgEa2kU3fEj9dgebGDNtYKmGmsk6XujXJ5AtJWIItx327h0eMbsqV
+9mqBXFPbJw7EZ2iVbufORtsrTbutINf24T6kxjCg7oYNshCBoTSyYKzN8VinsaUP
+UUIu93LrJcSoK14DUqn/ZikqLIl9UQAnic/0C7k/OhzOC6M73MHgfS2RAoGBAM0O
+y9DjI4YzTGw+kuMZQDCuC+TqLgzm2lSJix3ip7oww2wipXc11E2bv7z2Crld8jX9
+DRFh4AkEC2eKYusN//+gE/qoKzDId/KgFxQgwqaS1PTeFLJgtnFWr5sPvF3sl/wj
+Ib3F/KSSWe7YQ3zXDlTqtRQLQ9P5cydz6HQaqlJBAoGBAL3xNfmStaUFV4moms64
+fZ755LqQwN5rwjZLxmRTsOgVI/KPEg44xvbcG885eNW+JhYSPUyvkrP6Qb+I8PEN
+qdMPUgTetOrnA4T9yf7+U/xHghDSb3BEQKyGlrbRO2GB/iGa3xHD963WozDzeAfQ
+uxrLrUaQjPsf2AEhrHk8slgM
+-----END PRIVATE KEY-----
diff --git a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/src/lib.rs b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/src/lib.rs
index 3610031..cbfd100 100644
--- a/examples/crate_universe/multi_package/sub_pkgs/pkg_b/src/lib.rs
+++ b/examples/crate_universe/multi_package/sub_pkgs/pkg_b/src/lib.rs
@@ -1,13 +1,310 @@
-pub fn openssl_version() -> i64 {
-    openssl::version::number()
+//! A reimplementation of https://github.com/rustls/rustls/blob/v/0.20.8/rustls/tests/client_cert_verifier.rs
+
+use std::io;
+use std::sync::Arc;
+
+use rustls::client::WebPkiVerifier;
+use rustls::server::{ClientCertVerified, ClientCertVerifier};
+use rustls::PrivateKey;
+use rustls::{Certificate, DistinguishedNames, Error, ServerConfig, SignatureScheme};
+
+macro_rules! embed_files {
+    (
+        $(
+            ($name:ident, $keytype:expr, $path:expr);
+        )+
+    ) => {
+        $(
+            const $name: &'static [u8] = include_bytes!(
+                concat!(env!("CARGO_MANIFEST_DIR"), "/data/ca/", $keytype, "/", $path));
+        )+
+
+        pub fn bytes_for(keytype: &str, path: &str) -> &'static [u8] {
+            match (keytype, path) {
+                $(
+                    ($keytype, $path) => $name,
+                )+
+                _ => panic!("unknown keytype {} with path {}", keytype, path),
+            }
+        }
+    }
+}
+
+embed_files! {
+    (ECDSA_CA_CERT, "ecdsa", "ca.cert");
+    (ECDSA_CLIENT_FULLCHAIN, "ecdsa", "client.fullchain");
+    (ECDSA_CLIENT_KEY, "ecdsa", "client.key");
+    (ECDSA_END_FULLCHAIN, "ecdsa", "end.fullchain");
+    (ECDSA_END_KEY, "ecdsa", "end.key");
+
+    (EDDSA_CA_CERT, "eddsa", "ca.cert");
+    (EDDSA_CLIENT_FULLCHAIN, "eddsa", "client.fullchain");
+    (EDDSA_CLIENT_KEY, "eddsa", "client.key");
+    (EDDSA_END_FULLCHAIN, "eddsa", "end.fullchain");
+    (EDDSA_END_KEY, "eddsa", "end.key");
+
+    (RSA_CA_CERT, "rsa", "ca.cert");
+    (RSA_CLIENT_FULLCHAIN, "rsa", "client.fullchain");
+    (RSA_CLIENT_KEY, "rsa", "client.key");
+    (RSA_END_FULLCHAIN, "rsa", "end.fullchain");
+    (RSA_END_KEY, "rsa", "end.key");
+}
+
+#[derive(Clone, Copy, PartialEq)]
+pub enum KeyType {
+    Rsa,
+    Ecdsa,
+    Ed25519,
+}
+
+pub static ALL_KEY_TYPES: [KeyType; 3] = [KeyType::Rsa, KeyType::Ecdsa, KeyType::Ed25519];
+
+impl KeyType {
+    fn bytes_for(&self, part: &str) -> &'static [u8] {
+        match self {
+            Self::Rsa => bytes_for("rsa", part),
+            Self::Ecdsa => bytes_for("ecdsa", part),
+            Self::Ed25519 => bytes_for("eddsa", part),
+        }
+    }
+
+    pub fn get_chain(&self) -> Vec<Certificate> {
+        rustls_pemfile::certs(&mut io::BufReader::new(self.bytes_for("end.fullchain")))
+            .unwrap()
+            .iter()
+            .map(|v| Certificate(v.clone()))
+            .collect()
+    }
+
+    pub fn get_key(&self) -> PrivateKey {
+        PrivateKey(
+            rustls_pemfile::pkcs8_private_keys(&mut io::BufReader::new(self.bytes_for("end.key")))
+                .unwrap()[0]
+                .clone(),
+        )
+    }
+
+    pub fn get_client_chain(&self) -> Vec<Certificate> {
+        rustls_pemfile::certs(&mut io::BufReader::new(self.bytes_for("client.fullchain")))
+            .unwrap()
+            .iter()
+            .map(|v| Certificate(v.clone()))
+            .collect()
+    }
+
+    pub fn get_client_key(&self) -> PrivateKey {
+        PrivateKey(
+            rustls_pemfile::pkcs8_private_keys(&mut io::BufReader::new(
+                self.bytes_for("client.key"),
+            ))
+            .unwrap()[0]
+                .clone(),
+        )
+    }
+}
+
+#[derive(Debug)]
+pub enum ErrorFromPeer {
+    Client(Error),
+    Server(Error),
+}
+
+pub struct MockClientVerifier {
+    pub verified: fn() -> Result<ClientCertVerified, Error>,
+    pub subjects: Option<DistinguishedNames>,
+    pub mandatory: Option<bool>,
+    pub offered_schemes: Option<Vec<SignatureScheme>>,
+}
+
+impl ClientCertVerifier for MockClientVerifier {
+    fn client_auth_mandatory(&self) -> Option<bool> {
+        self.mandatory
+    }
+
+    fn client_auth_root_subjects(&self) -> Option<DistinguishedNames> {
+        self.subjects.as_ref().cloned()
+    }
+
+    fn verify_client_cert(
+        &self,
+        _end_entity: &Certificate,
+        _intermediates: &[Certificate],
+        _now: std::time::SystemTime,
+    ) -> Result<ClientCertVerified, Error> {
+        (self.verified)()
+    }
+
+    fn supported_verify_schemes(&self) -> Vec<SignatureScheme> {
+        if let Some(schemes) = &self.offered_schemes {
+            schemes.clone()
+        } else {
+            WebPkiVerifier::verification_schemes()
+        }
+    }
+}
+
+pub fn server_config_with_verifier(
+    kt: KeyType,
+    client_cert_verifier: MockClientVerifier,
+) -> ServerConfig {
+    ServerConfig::builder()
+        .with_safe_defaults()
+        .with_client_cert_verifier(Arc::new(client_cert_verifier))
+        .with_single_cert(kt.get_chain(), kt.get_key())
+        .unwrap()
 }
 
 #[cfg(test)]
 mod test {
     use super::*;
 
+    use std::convert::TryInto;
+    use std::io;
+    use std::ops::{Deref, DerefMut};
+    use std::sync::Arc;
+
+    use rustls::internal::msgs::base::PayloadU16;
+    use rustls::server::ClientCertVerified;
+    use rustls::{
+        ClientConfig, ClientConnection, ConnectionCommon, Error, RootCertStore, ServerConfig,
+        ServerConnection, SideData,
+    };
+
+    fn assert_debug_eq<T>(err: T, expect: T)
+    where
+        T: std::fmt::Debug,
+    {
+        assert_eq!(format!("{err:?}"), format!("{expect:?}"));
+    }
+
+    fn finish_client_config_with_creds(
+        kt: KeyType,
+        config: rustls::ConfigBuilder<ClientConfig, rustls::WantsVerifier>,
+    ) -> ClientConfig {
+        let mut root_store = RootCertStore::empty();
+        let mut rootbuf = io::BufReader::new(kt.bytes_for("ca.cert"));
+        root_store.add_parsable_certificates(&rustls_pemfile::certs(&mut rootbuf).unwrap());
+
+        config
+            .with_root_certificates(root_store)
+            .with_single_cert(kt.get_client_chain(), kt.get_client_key())
+            .unwrap()
+    }
+
+    fn make_client_config_with_versions_with_auth(
+        kt: KeyType,
+        versions: &[&'static rustls::SupportedProtocolVersion],
+    ) -> ClientConfig {
+        let builder = ClientConfig::builder()
+            .with_safe_default_cipher_suites()
+            .with_safe_default_kx_groups()
+            .with_protocol_versions(versions)
+            .unwrap();
+        finish_client_config_with_creds(kt, builder)
+    }
+
+    fn get_client_root_store(kt: KeyType) -> RootCertStore {
+        let roots = kt.get_chain();
+        let mut client_auth_roots = RootCertStore::empty();
+        for root in roots {
+            client_auth_roots.add(&root).unwrap();
+        }
+        client_auth_roots
+    }
+
+    fn do_handshake_until_error(
+        client: &mut ClientConnection,
+        server: &mut ServerConnection,
+    ) -> Result<(), ErrorFromPeer> {
+        while server.is_handshaking() || client.is_handshaking() {
+            transfer(client, server);
+            server
+                .process_new_packets()
+                .map_err(ErrorFromPeer::Server)?;
+            transfer(server, client);
+            client
+                .process_new_packets()
+                .map_err(ErrorFromPeer::Client)?;
+        }
+
+        Ok(())
+    }
+
+    fn transfer(
+        left: &mut (impl DerefMut + Deref<Target = ConnectionCommon<impl SideData>>),
+        right: &mut (impl DerefMut + Deref<Target = ConnectionCommon<impl SideData>>),
+    ) -> usize {
+        let mut buf = [0u8; 262144];
+        let mut total = 0;
+
+        while left.wants_write() {
+            let sz = {
+                let into_buf: &mut dyn io::Write = &mut &mut buf[..];
+                left.write_tls(into_buf).unwrap()
+            };
+            total += sz;
+            if sz == 0 {
+                return total;
+            }
+
+            let mut offs = 0;
+            loop {
+                let from_buf: &mut dyn io::Read = &mut &buf[offs..sz];
+                offs += right.read_tls(from_buf).unwrap();
+                if sz == offs {
+                    break;
+                }
+            }
+        }
+
+        total
+    }
+
+    fn dns_name(name: &'static str) -> rustls::ServerName {
+        name.try_into().unwrap()
+    }
+
+    fn make_pair_for_arc_configs(
+        client_config: &Arc<ClientConfig>,
+        server_config: &Arc<ServerConfig>,
+    ) -> (ClientConnection, ServerConnection) {
+        (
+            ClientConnection::new(Arc::clone(client_config), dns_name("localhost")).unwrap(),
+            ServerConnection::new(Arc::clone(server_config)).unwrap(),
+        )
+    }
+
+    fn ver_ok() -> Result<ClientCertVerified, Error> {
+        Ok(rustls::server::ClientCertVerified::assertion())
+    }
+
     #[test]
-    fn test_opnessl_version() {
-        assert_ne!(openssl_version(), 0)
+    // Happy path, we resolve to a root, it is verified OK, should be able to connect
+    fn client_verifier_works() {
+        for kt in ALL_KEY_TYPES.iter() {
+            let client_verifier = MockClientVerifier {
+                verified: ver_ok,
+                subjects: Some(
+                    get_client_root_store(*kt)
+                        .roots
+                        .iter()
+                        .map(|r| PayloadU16(r.subject().to_vec()))
+                        .collect(),
+                ),
+                mandatory: Some(true),
+                offered_schemes: None,
+            };
+
+            let server_config = server_config_with_verifier(*kt, client_verifier);
+            let server_config = Arc::new(server_config);
+
+            for version in rustls::ALL_VERSIONS {
+                let client_config = make_client_config_with_versions_with_auth(*kt, &[version]);
+                let (mut client, mut server) =
+                    make_pair_for_arc_configs(&Arc::new(client_config.clone()), &server_config);
+                let err = do_handshake_until_error(&mut client, &mut server);
+                assert_debug_eq(err, Ok(()));
+            }
+        }
     }
 }
diff --git a/examples/crate_universe/no_cargo_manifests/.bazelrc b/examples/crate_universe/no_cargo_manifests/.bazelrc
index d63c809..5c479fa 100644
--- a/examples/crate_universe/no_cargo_manifests/.bazelrc
+++ b/examples/crate_universe/no_cargo_manifests/.bazelrc
@@ -1,5 +1,10 @@
 # A config file containing Bazel settings
 
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
 # Enable rustfmt
 build:strict --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
 build:strict --output_groups=+rustfmt_checks
diff --git a/examples/crate_universe/no_cargo_manifests/Cargo.Bazel.lock b/examples/crate_universe/no_cargo_manifests/Cargo.Bazel.lock
index 4a77a8b..2127bcc 100644
--- a/examples/crate_universe/no_cargo_manifests/Cargo.Bazel.lock
+++ b/examples/crate_universe/no_cargo_manifests/Cargo.Bazel.lock
@@ -3,19 +3,10 @@
 version = 3
 
 [[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "async-trait"
-version = "0.1.56"
+version = "0.1.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716"
+checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -80,9 +71,9 @@
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "cfg-if"
@@ -98,6 +89,7 @@
  "hyper",
  "mime",
  "serde_json",
+ "socket2",
  "tokio",
  "tower",
  "tower-http",
@@ -113,46 +105,45 @@
 
 [[package]]
 name = "form_urlencoded"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
 dependencies = [
- "matches",
  "percent-encoding",
 ]
 
 [[package]]
 name = "futures-channel"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
 dependencies = [
  "futures-core",
 ]
 
 [[package]]
 name = "futures-core"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
 
 [[package]]
 name = "futures-sink"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
 
 [[package]]
 name = "futures-task"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
 
 [[package]]
 name = "futures-util"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -162,9 +153,9 @@
 
 [[package]]
 name = "h2"
-version = "0.3.13"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
+checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
 dependencies = [
  "bytes",
  "fnv",
@@ -181,24 +172,24 @@
 
 [[package]]
 name = "hashbrown"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "http"
-version = "0.2.8"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
 dependencies = [
  "bytes",
  "fnv",
@@ -224,9 +215,9 @@
 
 [[package]]
 name = "httparse"
-version = "1.7.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
@@ -236,9 +227,9 @@
 
 [[package]]
 name = "hyper"
-version = "0.14.19"
+version = "0.14.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f"
+checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -260,9 +251,9 @@
 
 [[package]]
 name = "indexmap"
-version = "1.9.1"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
 dependencies = [
  "autocfg",
  "hashbrown",
@@ -270,9 +261,9 @@
 
 [[package]]
 name = "itoa"
-version = "1.0.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
 
 [[package]]
 name = "lazy_static"
@@ -282,15 +273,15 @@
 
 [[package]]
 name = "libc"
-version = "0.2.126"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "lock_api"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -306,12 +297,6 @@
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
-[[package]]
 name = "matchit"
 version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -331,9 +316,9 @@
 
 [[package]]
 name = "mio"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
 dependencies = [
  "libc",
  "log",
@@ -342,10 +327,20 @@
 ]
 
 [[package]]
-name = "num_cpus"
-version = "1.13.1"
+name = "nu-ansi-term"
+version = "0.46.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
  "hermit-abi",
  "libc",
@@ -353,9 +348,15 @@
 
 [[package]]
 name = "once_cell"
-version = "1.13.0"
+version = "1.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
 name = "parking_lot"
@@ -369,9 +370,9 @@
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.3"
+version = "0.9.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
 dependencies = [
  "cfg-if",
  "libc",
@@ -382,24 +383,24 @@
 
 [[package]]
 name = "percent-encoding"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
 name = "pin-project"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260"
+checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74"
+checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -420,36 +421,36 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.40"
+version = "1.0.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.20"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.13"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
  "bitflags",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.10"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
 
 [[package]]
 name = "scopeguard"
@@ -459,15 +460,15 @@
 
 [[package]]
 name = "serde"
-version = "1.0.138"
+version = "1.0.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
 
 [[package]]
 name = "serde_json"
-version = "1.0.82"
+version = "1.0.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
+checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
 dependencies = [
  "itoa",
  "ryu",
@@ -497,30 +498,33 @@
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "slab"
-version = "0.4.6"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+dependencies = [
+ "autocfg",
+]
 
 [[package]]
 name = "smallvec"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
 name = "socket2"
-version = "0.4.4"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
 dependencies = [
  "libc",
  "winapi",
@@ -528,9 +532,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.98"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -539,44 +543,45 @@
 
 [[package]]
 name = "sync_wrapper"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
 
 [[package]]
 name = "thread_local"
-version = "1.1.4"
+version = "1.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
 dependencies = [
+ "cfg-if",
  "once_cell",
 ]
 
 [[package]]
 name = "tokio"
-version = "1.19.2"
+version = "1.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
 dependencies = [
+ "autocfg",
  "bytes",
  "libc",
  "memchr",
  "mio",
  "num_cpus",
- "once_cell",
  "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
- "winapi",
+ "windows-sys",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "1.8.0"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -585,9 +590,9 @@
 
 [[package]]
 name = "tokio-util"
-version = "0.7.3"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
+checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
 dependencies = [
  "bytes",
  "futures-core",
@@ -636,9 +641,9 @@
 
 [[package]]
 name = "tower-layer"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
 
 [[package]]
 name = "tower-service"
@@ -648,9 +653,9 @@
 
 [[package]]
 name = "tracing"
-version = "0.1.35"
+version = "0.1.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
 dependencies = [
  "cfg-if",
  "log",
@@ -661,9 +666,9 @@
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -672,9 +677,9 @@
 
 [[package]]
 name = "tracing-core"
-version = "0.1.28"
+version = "0.1.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
 dependencies = [
  "once_cell",
  "valuable",
@@ -693,11 +698,11 @@
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.14"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a713421342a5a666b7577783721d3117f1b69a393df803ee17bb73b1e122a59"
+checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
 dependencies = [
- "ansi_term",
+ "nu-ansi-term",
  "sharded-slab",
  "smallvec",
  "thread_local",
@@ -707,15 +712,15 @@
 
 [[package]]
 name = "try-lock"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
 
 [[package]]
 name = "valuable"
@@ -763,43 +768,66 @@
 
 [[package]]
 name = "windows-sys"
-version = "0.36.1"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
 dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
  "windows_i686_gnu",
  "windows_i686_msvc",
  "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
  "windows_x86_64_msvc",
 ]
 
 [[package]]
-name = "windows_aarch64_msvc"
-version = "0.36.1"
+name = "windows_aarch64_gnullvm"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.36.1"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
diff --git a/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json b/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json
index 03692c0..e4795fc 100644
--- a/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json
+++ b/examples/crate_universe/no_cargo_manifests/cargo-bazel-lock.json
@@ -1,57 +1,13 @@
 {
-  "checksum": "4b51399cb949606e8decd4492f40694118346c25f81e405088c43eecdc9b54ad",
+  "checksum": "fff2077bd789f4f7e6ac8b3564ef606c22b8e5808c3ba66f3167b6c1d4d1d992",
   "crates": {
-    "ansi_term 0.12.1": {
-      "name": "ansi_term",
-      "version": "0.12.1",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/ansi_term/0.12.1/download",
-          "sha256": "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "ansi_term",
-            "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "ansi_term",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "deps": {
-          "common": [],
-          "selects": {
-            "cfg(target_os = \"windows\")": [
-              {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
-              }
-            ]
-          }
-        },
-        "edition": "2015",
-        "version": "0.12.1"
-      },
-      "license": "MIT"
-    },
-    "async-trait 0.1.56": {
+    "async-trait 0.1.64": {
       "name": "async-trait",
-      "version": "0.1.56",
+      "version": "0.1.64",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/async-trait/0.1.56/download",
-          "sha256": "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716"
+          "url": "https://crates.io/api/v1/crates/async-trait/0.1.64/download",
+          "sha256": "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
         }
       },
       "targets": [
@@ -59,24 +15,18 @@
           "ProcMacro": {
             "crate_name": "async_trait",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -88,26 +38,26 @@
         "deps": {
           "common": [
             {
-              "id": "async-trait 0.1.56",
+              "id": "async-trait 0.1.64",
               "target": "build_script_build"
             },
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.56"
+        "version": "0.1.64"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -130,12 +80,9 @@
           "Library": {
             "crate_name": "autocfg",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -163,12 +110,9 @@
           "Library": {
             "crate_name": "axum",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -178,13 +122,16 @@
           "**",
           "**/*.md"
         ],
-        "crate_features": [
-          "default",
-          "http1",
-          "json",
-          "serde_json",
-          "tower-log"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "http1",
+            "json",
+            "serde_json",
+            "tower-log"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -196,15 +143,15 @@
               "target": "bitflags"
             },
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
@@ -212,7 +159,7 @@
               "target": "http_body"
             },
             {
-              "id": "hyper 0.14.19",
+              "id": "hyper 0.14.24",
               "target": "hyper"
             },
             {
@@ -228,7 +175,7 @@
               "target": "mime"
             },
             {
-              "id": "percent-encoding 2.1.0",
+              "id": "percent-encoding 2.2.0",
               "target": "percent_encoding"
             },
             {
@@ -236,11 +183,11 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             },
             {
-              "id": "serde_json 1.0.82",
+              "id": "serde_json 1.0.93",
               "target": "serde_json"
             },
             {
@@ -248,11 +195,11 @@
               "target": "serde_urlencoded"
             },
             {
-              "id": "sync_wrapper 0.1.1",
+              "id": "sync_wrapper 0.1.2",
               "target": "sync_wrapper"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
@@ -264,7 +211,7 @@
               "target": "tower_http"
             },
             {
-              "id": "tower-layer 0.3.1",
+              "id": "tower-layer 0.3.2",
               "target": "tower_layer"
             },
             {
@@ -278,7 +225,7 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "async-trait 0.1.56",
+              "id": "async-trait 0.1.64",
               "target": "async_trait"
             }
           ],
@@ -302,12 +249,9 @@
           "Library": {
             "crate_name": "axum_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -319,15 +263,15 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
@@ -345,7 +289,7 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "async-trait 0.1.56",
+              "id": "async-trait 0.1.64",
               "target": "async_trait"
             }
           ],
@@ -369,12 +313,9 @@
           "Library": {
             "crate_name": "bitflags",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -383,21 +324,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "1.3.2"
       },
       "license": "MIT/Apache-2.0"
     },
-    "bytes 1.1.0": {
+    "bytes 1.4.0": {
       "name": "bytes",
-      "version": "1.1.0",
+      "version": "1.4.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/bytes/1.1.0/download",
-          "sha256": "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+          "url": "https://crates.io/api/v1/crates/bytes/1.4.0/download",
+          "sha256": "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
         }
       },
       "targets": [
@@ -405,12 +349,9 @@
           "Library": {
             "crate_name": "bytes",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -419,12 +360,15 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "1.1.0"
+        "version": "1.4.0"
       },
       "license": "MIT"
     },
@@ -442,12 +386,9 @@
           "Library": {
             "crate_name": "cfg_if",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -470,12 +411,9 @@
           "Library": {
             "crate_name": "direct_cargo_bazel_deps",
             "crate_root": ".direct_cargo_bazel_deps.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -491,7 +429,7 @@
               "target": "axum"
             },
             {
-              "id": "hyper 0.14.19",
+              "id": "hyper 0.14.24",
               "target": "hyper"
             },
             {
@@ -499,11 +437,15 @@
               "target": "mime"
             },
             {
-              "id": "serde_json 1.0.82",
+              "id": "serde_json 1.0.93",
               "target": "serde_json"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "socket2 0.4.9",
+              "target": "socket2"
+            },
+            {
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
@@ -515,11 +457,11 @@
               "target": "tower_http"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             },
             {
-              "id": "tracing-subscriber 0.3.14",
+              "id": "tracing-subscriber 0.3.16",
               "target": "tracing_subscriber"
             }
           ],
@@ -544,12 +486,9 @@
           "Library": {
             "crate_name": "fnv",
             "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -558,22 +497,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2015",
         "version": "1.0.7"
       },
       "license": "Apache-2.0 / MIT"
     },
-    "form_urlencoded 1.0.1": {
+    "form_urlencoded 1.1.0": {
       "name": "form_urlencoded",
-      "version": "1.0.1",
+      "version": "1.1.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download",
-          "sha256": "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+          "url": "https://crates.io/api/v1/crates/form_urlencoded/1.1.0/download",
+          "sha256": "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
         }
       },
       "targets": [
@@ -581,12 +523,9 @@
           "Library": {
             "crate_name": "form_urlencoded",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -598,28 +537,24 @@
         "deps": {
           "common": [
             {
-              "id": "matches 0.1.9",
-              "target": "matches"
-            },
-            {
-              "id": "percent-encoding 2.1.0",
+              "id": "percent-encoding 2.2.0",
               "target": "percent_encoding"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.1"
+        "version": "1.1.0"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
-    "futures-channel 0.3.21": {
+    "futures-channel 0.3.26": {
       "name": "futures-channel",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-channel/0.3.21/download",
-          "sha256": "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
+          "url": "https://crates.io/api/v1/crates/futures-channel/0.3.26/download",
+          "sha256": "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
         }
       },
       "targets": [
@@ -627,24 +562,18 @@
           "Library": {
             "crate_name": "futures_channel",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -653,26 +582,29 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-channel 0.3.21",
+              "id": "futures-channel 0.3.26",
               "target": "build_script_build"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -681,13 +613,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-core 0.3.21": {
+    "futures-core 0.3.26": {
       "name": "futures-core",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-core/0.3.21/download",
-          "sha256": "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+          "url": "https://crates.io/api/v1/crates/futures-core/0.3.26/download",
+          "sha256": "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
         }
       },
       "targets": [
@@ -695,24 +627,18 @@
           "Library": {
             "crate_name": "futures_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -721,22 +647,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -745,13 +674,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-sink 0.3.21": {
+    "futures-sink 0.3.26": {
       "name": "futures-sink",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-sink/0.3.21/download",
-          "sha256": "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
+          "url": "https://crates.io/api/v1/crates/futures-sink/0.3.26/download",
+          "sha256": "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
         }
       },
       "targets": [
@@ -759,12 +688,9 @@
           "Library": {
             "crate_name": "futures_sink",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -773,23 +699,26 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-task 0.3.21": {
+    "futures-task 0.3.26": {
       "name": "futures-task",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-task/0.3.21/download",
-          "sha256": "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
+          "url": "https://crates.io/api/v1/crates/futures-task/0.3.26/download",
+          "sha256": "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
         }
       },
       "targets": [
@@ -797,24 +726,18 @@
           "Library": {
             "crate_name": "futures_task",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -823,20 +746,23 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-task 0.3.21",
+              "id": "futures-task 0.3.26",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -845,13 +771,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "futures-util 0.3.21": {
+    "futures-util 0.3.26": {
       "name": "futures-util",
-      "version": "0.3.21",
+      "version": "0.3.26",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/futures-util/0.3.21/download",
-          "sha256": "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
+          "url": "https://crates.io/api/v1/crates/futures-util/0.3.26/download",
+          "sha256": "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
         }
       },
       "targets": [
@@ -859,24 +785,18 @@
           "Library": {
             "crate_name": "futures_util",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -885,21 +805,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-task 0.3.21",
+              "id": "futures-task 0.3.26",
               "target": "futures_task"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "build_script_build"
             },
             {
@@ -914,7 +837,7 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.21"
+        "version": "0.3.26"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -923,13 +846,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "h2 0.3.13": {
+    "h2 0.3.16": {
       "name": "h2",
-      "version": "0.3.13",
+      "version": "0.3.16",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/h2/0.3.13/download",
-          "sha256": "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
+          "url": "https://crates.io/api/v1/crates/h2/0.3.16/download",
+          "sha256": "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d"
         }
       },
       "targets": [
@@ -937,12 +860,9 @@
           "Library": {
             "crate_name": "h2",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -954,7 +874,7 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
@@ -962,56 +882,56 @@
               "target": "fnv"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-sink 0.3.21",
+              "id": "futures-sink 0.3.26",
               "target": "futures_sink"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
-              "id": "indexmap 1.9.1",
+              "id": "indexmap 1.9.2",
               "target": "indexmap"
             },
             {
-              "id": "slab 0.4.6",
+              "id": "slab 0.4.8",
               "target": "slab"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
-              "id": "tokio-util 0.7.3",
+              "id": "tokio-util 0.7.7",
               "target": "tokio_util"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.13"
+        "version": "0.3.16"
       },
       "license": "MIT"
     },
-    "hashbrown 0.12.1": {
+    "hashbrown 0.12.3": {
       "name": "hashbrown",
-      "version": "0.12.1",
+      "version": "0.12.3",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hashbrown/0.12.1/download",
-          "sha256": "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+          "url": "https://crates.io/api/v1/crates/hashbrown/0.12.3/download",
+          "sha256": "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
         }
       },
       "targets": [
@@ -1019,12 +939,9 @@
           "Library": {
             "crate_name": "hashbrown",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1033,21 +950,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "raw"
-        ],
+        "crate_features": {
+          "common": [
+            "raw"
+          ],
+          "selects": {}
+        },
         "edition": "2021",
-        "version": "0.12.1"
+        "version": "0.12.3"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "hermit-abi 0.1.19": {
+    "hermit-abi 0.2.6": {
       "name": "hermit-abi",
-      "version": "0.1.19",
+      "version": "0.2.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hermit-abi/0.1.19/download",
-          "sha256": "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+          "url": "https://crates.io/api/v1/crates/hermit-abi/0.2.6/download",
+          "sha256": "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
         }
       },
       "targets": [
@@ -1055,12 +975,9 @@
           "Library": {
             "crate_name": "hermit_abi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1069,30 +986,27 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             }
           ],
           "selects": {}
         },
-        "edition": "2018",
-        "version": "0.1.19"
+        "edition": "2021",
+        "version": "0.2.6"
       },
       "license": "MIT/Apache-2.0"
     },
-    "http 0.2.8": {
+    "http 0.2.9": {
       "name": "http",
-      "version": "0.2.8",
+      "version": "0.2.9",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/http/0.2.8/download",
-          "sha256": "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+          "url": "https://crates.io/api/v1/crates/http/0.2.9/download",
+          "sha256": "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
         }
       },
       "targets": [
@@ -1100,12 +1014,9 @@
           "Library": {
             "crate_name": "http",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1117,7 +1028,7 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
@@ -1125,14 +1036,14 @@
               "target": "fnv"
             },
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.8"
+        "version": "0.2.9"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -1150,12 +1061,9 @@
           "Library": {
             "crate_name": "http_body",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1167,11 +1075,11 @@
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
@@ -1200,12 +1108,9 @@
           "Library": {
             "crate_name": "http_range_header",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1219,13 +1124,13 @@
       },
       "license": "MIT"
     },
-    "httparse 1.7.1": {
+    "httparse 1.8.0": {
       "name": "httparse",
-      "version": "1.7.1",
+      "version": "1.8.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/httparse/1.7.1/download",
-          "sha256": "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
+          "url": "https://crates.io/api/v1/crates/httparse/1.8.0/download",
+          "sha256": "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
         }
       },
       "targets": [
@@ -1233,24 +1138,18 @@
           "Library": {
             "crate_name": "httparse",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1259,21 +1158,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "httparse 1.7.1",
+              "id": "httparse 1.8.0",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
-        "edition": "2015",
-        "version": "1.7.1"
+        "edition": "2018",
+        "version": "1.8.0"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1296,12 +1198,9 @@
           "Library": {
             "crate_name": "httpdate",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1315,13 +1214,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "hyper 0.14.19": {
+    "hyper 0.14.24": {
       "name": "hyper",
-      "version": "0.14.19",
+      "version": "0.14.24",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/hyper/0.14.19/download",
-          "sha256": "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f"
+          "url": "https://crates.io/api/v1/crates/hyper/0.14.24/download",
+          "sha256": "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
         }
       },
       "targets": [
@@ -1329,12 +1228,9 @@
           "Library": {
             "crate_name": "hyper",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1343,43 +1239,46 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "client",
-          "default",
-          "full",
-          "h2",
-          "http1",
-          "http2",
-          "runtime",
-          "server",
-          "socket2",
-          "stream",
-          "tcp"
-        ],
+        "crate_features": {
+          "common": [
+            "client",
+            "default",
+            "full",
+            "h2",
+            "http1",
+            "http2",
+            "runtime",
+            "server",
+            "socket2",
+            "stream",
+            "tcp"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "futures-channel 0.3.21",
+              "id": "futures-channel 0.3.26",
               "target": "futures_channel"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "h2 0.3.13",
+              "id": "h2 0.3.16",
               "target": "h2"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
@@ -1387,7 +1286,7 @@
               "target": "http_body"
             },
             {
-              "id": "httparse 1.7.1",
+              "id": "httparse 1.8.0",
               "target": "httparse"
             },
             {
@@ -1395,7 +1294,7 @@
               "target": "httpdate"
             },
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             },
             {
@@ -1403,11 +1302,11 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "socket2 0.4.4",
+              "id": "socket2 0.4.9",
               "target": "socket2"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
@@ -1415,7 +1314,7 @@
               "target": "tower_service"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             },
             {
@@ -1426,17 +1325,17 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.14.19"
+        "version": "0.14.24"
       },
       "license": "MIT"
     },
-    "indexmap 1.9.1": {
+    "indexmap 1.9.2": {
       "name": "indexmap",
-      "version": "1.9.1",
+      "version": "1.9.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/indexmap/1.9.1/download",
-          "sha256": "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+          "url": "https://crates.io/api/v1/crates/indexmap/1.9.2/download",
+          "sha256": "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
         }
       },
       "targets": [
@@ -1444,24 +1343,18 @@
           "Library": {
             "crate_name": "indexmap",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1470,24 +1363,27 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "hashbrown 0.12.1",
+              "id": "hashbrown 0.12.3",
               "target": "hashbrown"
             },
             {
-              "id": "indexmap 1.9.1",
+              "id": "indexmap 1.9.2",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2021",
-        "version": "1.9.1"
+        "version": "1.9.2"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1505,13 +1401,13 @@
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "itoa 1.0.2": {
+    "itoa 1.0.5": {
       "name": "itoa",
-      "version": "1.0.2",
+      "version": "1.0.5",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/itoa/1.0.2/download",
-          "sha256": "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+          "url": "https://crates.io/api/v1/crates/itoa/1.0.5/download",
+          "sha256": "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
         }
       },
       "targets": [
@@ -1519,12 +1415,9 @@
           "Library": {
             "crate_name": "itoa",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1534,7 +1427,7 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.2"
+        "version": "1.0.5"
       },
       "license": "MIT OR Apache-2.0"
     },
@@ -1552,12 +1445,9 @@
           "Library": {
             "crate_name": "lazy_static",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1571,13 +1461,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "libc 0.2.126": {
+    "libc 0.2.139": {
       "name": "libc",
-      "version": "0.2.126",
+      "version": "0.2.139",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/libc/0.2.126/download",
-          "sha256": "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+          "url": "https://crates.io/api/v1/crates/libc/0.2.139/download",
+          "sha256": "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
         }
       },
       "targets": [
@@ -1585,24 +1475,18 @@
           "Library": {
             "crate_name": "libc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1611,21 +1495,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "0.2.126"
+        "version": "0.2.139"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1634,13 +1521,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "lock_api 0.4.7": {
+    "lock_api 0.4.9": {
       "name": "lock_api",
-      "version": "0.4.7",
+      "version": "0.4.9",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/lock_api/0.4.7/download",
-          "sha256": "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
+          "url": "https://crates.io/api/v1/crates/lock_api/0.4.9/download",
+          "sha256": "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
         }
       },
       "targets": [
@@ -1648,24 +1535,18 @@
           "Library": {
             "crate_name": "lock_api",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1677,7 +1558,7 @@
         "deps": {
           "common": [
             {
-              "id": "lock_api 0.4.7",
+              "id": "lock_api 0.4.9",
               "target": "build_script_build"
             },
             {
@@ -1688,7 +1569,7 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.4.7"
+        "version": "0.4.9"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -1720,24 +1601,18 @@
           "Library": {
             "crate_name": "log",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1746,9 +1621,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1772,39 +1650,6 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "matches 0.1.9": {
-      "name": "matches",
-      "version": "0.1.9",
-      "repository": {
-        "Http": {
-          "url": "https://crates.io/api/v1/crates/matches/0.1.9/download",
-          "sha256": "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-        }
-      },
-      "targets": [
-        {
-          "Library": {
-            "crate_name": "matches",
-            "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
-          }
-        }
-      ],
-      "library_target_name": "matches",
-      "common_attrs": {
-        "compile_data_glob": [
-          "**"
-        ],
-        "edition": "2015",
-        "version": "0.1.9"
-      },
-      "license": "MIT"
-    },
     "matchit 0.4.6": {
       "name": "matchit",
       "version": "0.4.6",
@@ -1819,12 +1664,9 @@
           "Library": {
             "crate_name": "matchit",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1833,9 +1675,12 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "0.4.6"
       },
@@ -1855,24 +1700,18 @@
           "Library": {
             "crate_name": "memchr",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1881,10 +1720,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1918,12 +1760,9 @@
           "Library": {
             "crate_name": "mime",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1937,13 +1776,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "mio 0.8.4": {
+    "mio 0.8.6": {
       "name": "mio",
-      "version": "0.8.4",
+      "version": "0.8.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/mio/0.8.4/download",
-          "sha256": "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
+          "url": "https://crates.io/api/v1/crates/mio/0.8.6/download",
+          "sha256": "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
         }
       },
       "targets": [
@@ -1951,12 +1790,9 @@
           "Library": {
             "crate_name": "mio",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -1965,12 +1801,15 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "net",
-          "os-ext",
-          "os-poll"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "net",
+            "os-ext",
+            "os-poll"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -1981,7 +1820,7 @@
           "selects": {
             "cfg(target_os = \"wasi\")": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               },
               {
@@ -1991,30 +1830,76 @@
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
             "cfg(windows)": [
               {
-                "id": "windows-sys 0.36.1",
+                "id": "windows-sys 0.45.0",
                 "target": "windows_sys"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "0.8.4"
+        "version": "0.8.6"
       },
       "license": "MIT"
     },
-    "num_cpus 1.13.1": {
-      "name": "num_cpus",
-      "version": "1.13.1",
+    "nu-ansi-term 0.46.0": {
+      "name": "nu-ansi-term",
+      "version": "0.46.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/num_cpus/1.13.1/download",
-          "sha256": "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+          "url": "https://crates.io/api/v1/crates/nu-ansi-term/0.46.0/download",
+          "sha256": "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "nu_ansi_term",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "nu_ansi_term",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "overload 0.1.1",
+              "target": "overload"
+            }
+          ],
+          "selects": {
+            "cfg(target_os = \"windows\")": [
+              {
+                "id": "winapi 0.3.9",
+                "target": "winapi"
+              }
+            ]
+          }
+        },
+        "edition": "2018",
+        "version": "0.46.0"
+      },
+      "license": "MIT"
+    },
+    "num_cpus 1.15.0": {
+      "name": "num_cpus",
+      "version": "1.15.0",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/num_cpus/1.15.0/download",
+          "sha256": "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
         }
       },
       "targets": [
@@ -2022,12 +1907,9 @@
           "Library": {
             "crate_name": "num_cpus",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2041,30 +1923,30 @@
           "selects": {
             "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [
               {
-                "id": "hermit-abi 0.1.19",
+                "id": "hermit-abi 0.2.6",
                 "target": "hermit_abi"
               }
             ],
             "cfg(not(windows))": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ]
           }
         },
         "edition": "2015",
-        "version": "1.13.1"
+        "version": "1.15.0"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "once_cell 1.13.0": {
+    "once_cell 1.17.1": {
       "name": "once_cell",
-      "version": "1.13.0",
+      "version": "1.17.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/once_cell/1.13.0/download",
-          "sha256": "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+          "url": "https://crates.io/api/v1/crates/once_cell/1.17.1/download",
+          "sha256": "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
         }
       },
       "targets": [
@@ -2072,12 +1954,9 @@
           "Library": {
             "crate_name": "once_cell",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2086,17 +1965,50 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "default",
-          "race",
-          "std"
-        ],
-        "edition": "2018",
-        "version": "1.13.0"
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default",
+            "race",
+            "std"
+          ],
+          "selects": {}
+        },
+        "edition": "2021",
+        "version": "1.17.1"
       },
       "license": "MIT OR Apache-2.0"
     },
+    "overload 0.1.1": {
+      "name": "overload",
+      "version": "0.1.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/overload/0.1.1/download",
+          "sha256": "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "overload",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "overload",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "edition": "2018",
+        "version": "0.1.1"
+      },
+      "license": "MIT"
+    },
     "parking_lot 0.12.1": {
       "name": "parking_lot",
       "version": "0.12.1",
@@ -2111,12 +2023,9 @@
           "Library": {
             "crate_name": "parking_lot",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2125,17 +2034,20 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default"
-        ],
+        "crate_features": {
+          "common": [
+            "default"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "lock_api 0.4.7",
+              "id": "lock_api 0.4.9",
               "target": "lock_api"
             },
             {
-              "id": "parking_lot_core 0.9.3",
+              "id": "parking_lot_core 0.9.7",
               "target": "parking_lot_core"
             }
           ],
@@ -2146,13 +2058,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "parking_lot_core 0.9.3": {
+    "parking_lot_core 0.9.7": {
       "name": "parking_lot_core",
-      "version": "0.9.3",
+      "version": "0.9.7",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download",
-          "sha256": "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
+          "url": "https://crates.io/api/v1/crates/parking_lot_core/0.9.7/download",
+          "sha256": "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
         }
       },
       "targets": [
@@ -2160,24 +2072,18 @@
           "Library": {
             "crate_name": "parking_lot_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2193,37 +2099,37 @@
               "target": "cfg_if"
             },
             {
-              "id": "parking_lot_core 0.9.3",
+              "id": "parking_lot_core 0.9.7",
               "target": "build_script_build"
             },
             {
-              "id": "smallvec 1.9.0",
+              "id": "smallvec 1.10.0",
               "target": "smallvec"
             }
           ],
           "selects": {
             "cfg(target_os = \"redox\")": [
               {
-                "id": "redox_syscall 0.2.13",
+                "id": "redox_syscall 0.2.16",
                 "target": "syscall"
               }
             ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
             "cfg(windows)": [
               {
-                "id": "windows-sys 0.36.1",
+                "id": "windows-sys 0.45.0",
                 "target": "windows_sys"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "0.9.3"
+        "version": "0.9.7"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2232,26 +2138,23 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "percent-encoding 2.1.0": {
+    "percent-encoding 2.2.0": {
       "name": "percent-encoding",
-      "version": "2.1.0",
+      "version": "2.2.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/percent-encoding/2.1.0/download",
-          "sha256": "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+          "url": "https://crates.io/api/v1/crates/percent-encoding/2.2.0/download",
+          "sha256": "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
         }
       },
       "targets": [
         {
           "Library": {
             "crate_name": "percent_encoding",
-            "crate_root": "lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2260,18 +2163,25 @@
         "compile_data_glob": [
           "**"
         ],
-        "edition": "2015",
-        "version": "2.1.0"
+        "crate_features": {
+          "common": [
+            "alloc",
+            "default"
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "2.2.0"
       },
-      "license": "MIT/Apache-2.0"
+      "license": "MIT OR Apache-2.0"
     },
-    "pin-project 1.0.11": {
+    "pin-project 1.0.12": {
       "name": "pin-project",
-      "version": "1.0.11",
+      "version": "1.0.12",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/pin-project/1.0.11/download",
-          "sha256": "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260"
+          "url": "https://crates.io/api/v1/crates/pin-project/1.0.12/download",
+          "sha256": "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
         }
       },
       "targets": [
@@ -2279,12 +2189,9 @@
           "Library": {
             "crate_name": "pin_project",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2297,23 +2204,23 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "pin-project-internal 1.0.11",
+              "id": "pin-project-internal 1.0.12",
               "target": "pin_project_internal"
             }
           ],
           "selects": {}
         },
-        "version": "1.0.11"
+        "version": "1.0.12"
       },
       "license": "Apache-2.0 OR MIT"
     },
-    "pin-project-internal 1.0.11": {
+    "pin-project-internal 1.0.12": {
       "name": "pin-project-internal",
-      "version": "1.0.11",
+      "version": "1.0.12",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/pin-project-internal/1.0.11/download",
-          "sha256": "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74"
+          "url": "https://crates.io/api/v1/crates/pin-project-internal/1.0.12/download",
+          "sha256": "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
         }
       },
       "targets": [
@@ -2321,12 +2228,9 @@
           "ProcMacro": {
             "crate_name": "pin_project_internal",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2338,22 +2242,22 @@
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.11"
+        "version": "1.0.12"
       },
       "license": "Apache-2.0 OR MIT"
     },
@@ -2371,12 +2275,9 @@
           "Library": {
             "crate_name": "pin_project_lite",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2404,12 +2305,9 @@
           "Library": {
             "crate_name": "pin_utils",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2423,13 +2321,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "proc-macro2 1.0.40": {
+    "proc-macro2 1.0.51": {
       "name": "proc-macro2",
-      "version": "1.0.40",
+      "version": "1.0.51",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.40/download",
-          "sha256": "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+          "url": "https://crates.io/api/v1/crates/proc-macro2/1.0.51/download",
+          "sha256": "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
         }
       },
       "targets": [
@@ -2437,24 +2335,18 @@
           "Library": {
             "crate_name": "proc_macro2",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2463,25 +2355,28 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "proc-macro"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "proc-macro"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "build_script_build"
             },
             {
-              "id": "unicode-ident 1.0.1",
+              "id": "unicode-ident 1.0.6",
               "target": "unicode_ident"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.40"
+        "version": "1.0.51"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2490,13 +2385,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "quote 1.0.20": {
+    "quote 1.0.23": {
       "name": "quote",
-      "version": "1.0.20",
+      "version": "1.0.23",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/quote/1.0.20/download",
-          "sha256": "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+          "url": "https://crates.io/api/v1/crates/quote/1.0.23/download",
+          "sha256": "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
         }
       },
       "targets": [
@@ -2504,24 +2399,18 @@
           "Library": {
             "crate_name": "quote",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2530,25 +2419,28 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "proc-macro"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "proc-macro"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.20"
+        "version": "1.0.23"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2557,13 +2449,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "redox_syscall 0.2.13": {
+    "redox_syscall 0.2.16": {
       "name": "redox_syscall",
-      "version": "0.2.13",
+      "version": "0.2.16",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/redox_syscall/0.2.13/download",
-          "sha256": "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
+          "url": "https://crates.io/api/v1/crates/redox_syscall/0.2.16/download",
+          "sha256": "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
         }
       },
       "targets": [
@@ -2571,12 +2463,9 @@
           "Library": {
             "crate_name": "syscall",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2595,17 +2484,17 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.2.13"
+        "version": "0.2.16"
       },
       "license": "MIT"
     },
-    "ryu 1.0.10": {
+    "ryu 1.0.12": {
       "name": "ryu",
-      "version": "1.0.10",
+      "version": "1.0.12",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/ryu/1.0.10/download",
-          "sha256": "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+          "url": "https://crates.io/api/v1/crates/ryu/1.0.12/download",
+          "sha256": "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
         }
       },
       "targets": [
@@ -2613,12 +2502,9 @@
           "Library": {
             "crate_name": "ryu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2628,7 +2514,7 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.10"
+        "version": "1.0.12"
       },
       "license": "Apache-2.0 OR BSL-1.0"
     },
@@ -2646,12 +2532,9 @@
           "Library": {
             "crate_name": "scopeguard",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2665,13 +2548,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "serde 1.0.138": {
+    "serde 1.0.152": {
       "name": "serde",
-      "version": "1.0.138",
+      "version": "1.0.152",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/serde/1.0.138/download",
-          "sha256": "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47"
+          "url": "https://crates.io/api/v1/crates/serde/1.0.152/download",
+          "sha256": "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
         }
       },
       "targets": [
@@ -2679,24 +2562,18 @@
           "Library": {
             "crate_name": "serde",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2705,21 +2582,24 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "1.0.138"
+        "version": "1.0.152"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2728,13 +2608,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "serde_json 1.0.82": {
+    "serde_json 1.0.93": {
       "name": "serde_json",
-      "version": "1.0.82",
+      "version": "1.0.93",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/serde_json/1.0.82/download",
-          "sha256": "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
+          "url": "https://crates.io/api/v1/crates/serde_json/1.0.93/download",
+          "sha256": "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
         }
       },
       "targets": [
@@ -2742,24 +2622,18 @@
           "Library": {
             "crate_name": "serde_json",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2768,34 +2642,37 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "raw_value",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "raw_value",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             },
             {
-              "id": "ryu 1.0.10",
+              "id": "ryu 1.0.12",
               "target": "ryu"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             },
             {
-              "id": "serde_json 1.0.82",
+              "id": "serde_json 1.0.93",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.82"
+        "version": "1.0.93"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -2818,12 +2695,9 @@
           "Library": {
             "crate_name": "serde_urlencoded",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2835,19 +2709,19 @@
         "deps": {
           "common": [
             {
-              "id": "form_urlencoded 1.0.1",
+              "id": "form_urlencoded 1.1.0",
               "target": "form_urlencoded"
             },
             {
-              "id": "itoa 1.0.2",
+              "id": "itoa 1.0.5",
               "target": "itoa"
             },
             {
-              "id": "ryu 1.0.10",
+              "id": "ryu 1.0.12",
               "target": "ryu"
             },
             {
-              "id": "serde 1.0.138",
+              "id": "serde 1.0.152",
               "target": "serde"
             }
           ],
@@ -2872,12 +2746,9 @@
           "Library": {
             "crate_name": "sharded_slab",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2900,13 +2771,13 @@
       },
       "license": "MIT"
     },
-    "signal-hook-registry 1.4.0": {
+    "signal-hook-registry 1.4.1": {
       "name": "signal-hook-registry",
-      "version": "1.4.0",
+      "version": "1.4.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download",
-          "sha256": "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+          "url": "https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download",
+          "sha256": "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
         }
       },
       "targets": [
@@ -2914,12 +2785,9 @@
           "Library": {
             "crate_name": "signal_hook_registry",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2931,24 +2799,24 @@
         "deps": {
           "common": [
             {
-              "id": "libc 0.2.126",
+              "id": "libc 0.2.139",
               "target": "libc"
             }
           ],
           "selects": {}
         },
         "edition": "2015",
-        "version": "1.4.0"
+        "version": "1.4.1"
       },
       "license": "Apache-2.0/MIT"
     },
-    "slab 0.4.6": {
+    "slab 0.4.8": {
       "name": "slab",
-      "version": "0.4.6",
+      "version": "0.4.8",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/slab/0.4.6/download",
-          "sha256": "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
+          "url": "https://crates.io/api/v1/crates/slab/0.4.8/download",
+          "sha256": "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
         }
       },
       "targets": [
@@ -2956,12 +2824,18 @@
           "Library": {
             "crate_name": "slab",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -2970,22 +2844,48 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [
+            {
+              "id": "slab 0.4.8",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
         "edition": "2018",
-        "version": "0.4.6"
+        "version": "0.4.8"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
       },
       "license": "MIT"
     },
-    "smallvec 1.9.0": {
+    "smallvec 1.10.0": {
       "name": "smallvec",
-      "version": "1.9.0",
+      "version": "1.10.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/smallvec/1.9.0/download",
-          "sha256": "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
+          "url": "https://crates.io/api/v1/crates/smallvec/1.10.0/download",
+          "sha256": "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
         }
       },
       "targets": [
@@ -2993,12 +2893,9 @@
           "Library": {
             "crate_name": "smallvec",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3008,17 +2905,17 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.9.0"
+        "version": "1.10.0"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "socket2 0.4.4": {
+    "socket2 0.4.9": {
       "name": "socket2",
-      "version": "0.4.4",
+      "version": "0.4.9",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/socket2/0.4.4/download",
-          "sha256": "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+          "url": "https://crates.io/api/v1/crates/socket2/0.4.9/download",
+          "sha256": "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
         }
       },
       "targets": [
@@ -3026,12 +2923,9 @@
           "Library": {
             "crate_name": "socket2",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3040,15 +2934,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "all"
-        ],
+        "crate_features": {
+          "common": [
+            "all"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [],
           "selects": {
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               }
             ],
@@ -3061,17 +2958,17 @@
           }
         },
         "edition": "2018",
-        "version": "0.4.4"
+        "version": "0.4.9"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "syn 1.0.98": {
+    "syn 1.0.109": {
       "name": "syn",
-      "version": "1.0.98",
+      "version": "1.0.109",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/syn/1.0.98/download",
-          "sha256": "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+          "url": "https://crates.io/api/v1/crates/syn/1.0.109/download",
+          "sha256": "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
         }
       },
       "targets": [
@@ -3079,24 +2976,18 @@
           "Library": {
             "crate_name": "syn",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3105,42 +2996,45 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "clone-impls",
-          "default",
-          "derive",
-          "extra-traits",
-          "full",
-          "parsing",
-          "printing",
-          "proc-macro",
-          "quote",
-          "visit",
-          "visit-mut"
-        ],
+        "crate_features": {
+          "common": [
+            "clone-impls",
+            "default",
+            "derive",
+            "extra-traits",
+            "full",
+            "parsing",
+            "printing",
+            "proc-macro",
+            "quote",
+            "visit",
+            "visit-mut"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "build_script_build"
             },
             {
-              "id": "unicode-ident 1.0.1",
+              "id": "unicode-ident 1.0.6",
               "target": "unicode_ident"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.0.98"
+        "version": "1.0.109"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -3149,13 +3043,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "sync_wrapper 0.1.1": {
+    "sync_wrapper 0.1.2": {
       "name": "sync_wrapper",
-      "version": "0.1.1",
+      "version": "0.1.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/sync_wrapper/0.1.1/download",
-          "sha256": "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8"
+          "url": "https://crates.io/api/v1/crates/sync_wrapper/0.1.2/download",
+          "sha256": "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
         }
       },
       "targets": [
@@ -3163,12 +3057,9 @@
           "Library": {
             "crate_name": "sync_wrapper",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3178,17 +3069,17 @@
           "**"
         ],
         "edition": "2018",
-        "version": "0.1.1"
+        "version": "0.1.2"
       },
       "license": "Apache-2.0"
     },
-    "thread_local 1.1.4": {
+    "thread_local 1.1.7": {
       "name": "thread_local",
-      "version": "1.1.4",
+      "version": "1.1.7",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/thread_local/1.1.4/download",
-          "sha256": "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+          "url": "https://crates.io/api/v1/crates/thread_local/1.1.7/download",
+          "sha256": "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
         }
       },
       "targets": [
@@ -3196,12 +3087,9 @@
           "Library": {
             "crate_name": "thread_local",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3213,24 +3101,28 @@
         "deps": {
           "common": [
             {
-              "id": "once_cell 1.13.0",
+              "id": "cfg-if 1.0.0",
+              "target": "cfg_if"
+            },
+            {
+              "id": "once_cell 1.17.1",
               "target": "once_cell"
             }
           ],
           "selects": {}
         },
-        "edition": "2018",
-        "version": "1.1.4"
+        "edition": "2021",
+        "version": "1.1.7"
       },
-      "license": "Apache-2.0/MIT"
+      "license": "MIT OR Apache-2.0"
     },
-    "tokio 1.19.2": {
+    "tokio 1.26.0": {
       "name": "tokio",
-      "version": "1.19.2",
+      "version": "1.26.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tokio/1.19.2/download",
-          "sha256": "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
+          "url": "https://crates.io/api/v1/crates/tokio/1.26.0/download",
+          "sha256": "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
         }
       },
       "targets": [
@@ -3238,12 +3130,18 @@
           "Library": {
             "crate_name": "tokio",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3252,36 +3150,47 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "bytes",
-          "default",
-          "fs",
-          "full",
-          "io-std",
-          "io-util",
-          "libc",
-          "macros",
-          "memchr",
-          "mio",
-          "net",
-          "num_cpus",
-          "once_cell",
-          "parking_lot",
-          "process",
-          "rt",
-          "rt-multi-thread",
-          "signal",
-          "signal-hook-registry",
-          "socket2",
-          "sync",
-          "time",
-          "tokio-macros",
-          "winapi"
-        ],
+        "crate_features": {
+          "common": [
+            "bytes",
+            "default",
+            "fs",
+            "full",
+            "io-std",
+            "io-util",
+            "libc",
+            "macros",
+            "memchr",
+            "mio",
+            "net",
+            "num_cpus",
+            "parking_lot",
+            "process",
+            "rt",
+            "rt-multi-thread",
+            "signal",
+            "signal-hook-registry",
+            "socket2",
+            "sync",
+            "time",
+            "tokio-macros"
+          ],
+          "selects": {
+            "aarch64-pc-windows-msvc": [
+              "windows-sys"
+            ],
+            "i686-pc-windows-msvc": [
+              "windows-sys"
+            ],
+            "x86_64-pc-windows-msvc": [
+              "windows-sys"
+            ]
+          }
+        },
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
@@ -3289,18 +3198,14 @@
               "target": "memchr"
             },
             {
-              "id": "mio 0.8.4",
+              "id": "mio 0.8.6",
               "target": "mio"
             },
             {
-              "id": "num_cpus 1.13.1",
+              "id": "num_cpus 1.15.0",
               "target": "num_cpus"
             },
             {
-              "id": "once_cell 1.13.0",
-              "target": "once_cell"
-            },
-            {
               "id": "parking_lot 0.12.1",
               "target": "parking_lot"
             },
@@ -3309,25 +3214,37 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "socket2 0.4.4",
-              "target": "socket2"
+              "id": "tokio 1.26.0",
+              "target": "build_script_build"
             }
           ],
           "selects": {
+            "cfg(docsrs)": [
+              {
+                "id": "windows-sys 0.45.0",
+                "target": "windows_sys"
+              }
+            ],
+            "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": [
+              {
+                "id": "socket2 0.4.9",
+                "target": "socket2"
+              }
+            ],
             "cfg(unix)": [
               {
-                "id": "libc 0.2.126",
+                "id": "libc 0.2.139",
                 "target": "libc"
               },
               {
-                "id": "signal-hook-registry 1.4.0",
+                "id": "signal-hook-registry 1.4.1",
                 "target": "signal_hook_registry"
               }
             ],
             "cfg(windows)": [
               {
-                "id": "winapi 0.3.9",
-                "target": "winapi"
+                "id": "windows-sys 0.45.0",
+                "target": "windows_sys"
               }
             ]
           }
@@ -3336,23 +3253,37 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "tokio-macros 1.8.0",
+              "id": "tokio-macros 1.8.2",
               "target": "tokio_macros"
             }
           ],
           "selects": {}
         },
-        "version": "1.19.2"
+        "version": "1.26.0"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "autocfg 1.1.0",
+              "target": "autocfg"
+            }
+          ],
+          "selects": {}
+        }
       },
       "license": "MIT"
     },
-    "tokio-macros 1.8.0": {
+    "tokio-macros 1.8.2": {
       "name": "tokio-macros",
-      "version": "1.8.0",
+      "version": "1.8.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tokio-macros/1.8.0/download",
-          "sha256": "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
+          "url": "https://crates.io/api/v1/crates/tokio-macros/1.8.2/download",
+          "sha256": "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
         }
       },
       "targets": [
@@ -3360,12 +3291,9 @@
           "ProcMacro": {
             "crate_name": "tokio_macros",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3377,32 +3305,32 @@
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "1.8.0"
+        "version": "1.8.2"
       },
       "license": "MIT"
     },
-    "tokio-util 0.7.3": {
+    "tokio-util 0.7.7": {
       "name": "tokio-util",
-      "version": "0.7.3",
+      "version": "0.7.7",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tokio-util/0.7.3/download",
-          "sha256": "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
+          "url": "https://crates.io/api/v1/crates/tokio-util/0.7.7/download",
+          "sha256": "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
         }
       },
       "targets": [
@@ -3410,12 +3338,9 @@
           "Library": {
             "crate_name": "tokio_util",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3424,23 +3349,26 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "codec",
-          "default",
-          "tracing"
-        ],
+        "crate_features": {
+          "common": [
+            "codec",
+            "default",
+            "tracing"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-sink 0.3.21",
+              "id": "futures-sink 0.3.26",
               "target": "futures_sink"
             },
             {
@@ -3448,18 +3376,18 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.7.3"
+        "version": "0.7.7"
       },
       "license": "MIT"
     },
@@ -3477,12 +3405,9 @@
           "Library": {
             "crate_name": "tower",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3491,33 +3416,36 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "__common",
-          "buffer",
-          "default",
-          "futures-core",
-          "futures-util",
-          "log",
-          "make",
-          "pin-project",
-          "pin-project-lite",
-          "tokio",
-          "tokio-util",
-          "tracing",
-          "util"
-        ],
+        "crate_features": {
+          "common": [
+            "__common",
+            "buffer",
+            "default",
+            "futures-core",
+            "futures-util",
+            "log",
+            "make",
+            "pin-project",
+            "pin-project-lite",
+            "tokio",
+            "tokio-util",
+            "tracing",
+            "util"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "pin-project 1.0.11",
+              "id": "pin-project 1.0.12",
               "target": "pin_project"
             },
             {
@@ -3525,15 +3453,15 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "tokio 1.19.2",
+              "id": "tokio 1.26.0",
               "target": "tokio"
             },
             {
-              "id": "tokio-util 0.7.3",
+              "id": "tokio-util 0.7.7",
               "target": "tokio_util"
             },
             {
-              "id": "tower-layer 0.3.1",
+              "id": "tower-layer 0.3.2",
               "target": "tower_layer"
             },
             {
@@ -3541,7 +3469,7 @@
               "target": "tower_service"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             }
           ],
@@ -3566,12 +3494,9 @@
           "Library": {
             "crate_name": "tower_http",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3580,14 +3505,17 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "map-response-body",
-          "tower",
-          "trace",
-          "tracing",
-          "util"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "map-response-body",
+            "tower",
+            "trace",
+            "tracing",
+            "util"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -3595,19 +3523,19 @@
               "target": "bitflags"
             },
             {
-              "id": "bytes 1.1.0",
+              "id": "bytes 1.4.0",
               "target": "bytes"
             },
             {
-              "id": "futures-core 0.3.21",
+              "id": "futures-core 0.3.26",
               "target": "futures_core"
             },
             {
-              "id": "futures-util 0.3.21",
+              "id": "futures-util 0.3.26",
               "target": "futures_util"
             },
             {
-              "id": "http 0.2.8",
+              "id": "http 0.2.9",
               "target": "http"
             },
             {
@@ -3627,7 +3555,7 @@
               "target": "tower"
             },
             {
-              "id": "tower-layer 0.3.1",
+              "id": "tower-layer 0.3.2",
               "target": "tower_layer"
             },
             {
@@ -3635,7 +3563,7 @@
               "target": "tower_service"
             },
             {
-              "id": "tracing 0.1.35",
+              "id": "tracing 0.1.37",
               "target": "tracing"
             }
           ],
@@ -3646,13 +3574,13 @@
       },
       "license": "MIT"
     },
-    "tower-layer 0.3.1": {
+    "tower-layer 0.3.2": {
       "name": "tower-layer",
-      "version": "0.3.1",
+      "version": "0.3.2",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tower-layer/0.3.1/download",
-          "sha256": "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62"
+          "url": "https://crates.io/api/v1/crates/tower-layer/0.3.2/download",
+          "sha256": "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
         }
       },
       "targets": [
@@ -3660,12 +3588,9 @@
           "Library": {
             "crate_name": "tower_layer",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3675,7 +3600,7 @@
           "**"
         ],
         "edition": "2018",
-        "version": "0.3.1"
+        "version": "0.3.2"
       },
       "license": "MIT"
     },
@@ -3693,12 +3618,9 @@
           "Library": {
             "crate_name": "tower_service",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3712,13 +3634,13 @@
       },
       "license": "MIT"
     },
-    "tracing 0.1.35": {
+    "tracing 0.1.37": {
       "name": "tracing",
-      "version": "0.1.35",
+      "version": "0.1.37",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tracing/0.1.35/download",
-          "sha256": "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
+          "url": "https://crates.io/api/v1/crates/tracing/0.1.37/download",
+          "sha256": "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
         }
       },
       "targets": [
@@ -3726,12 +3648,9 @@
           "Library": {
             "crate_name": "tracing",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3740,13 +3659,16 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "attributes",
-          "default",
-          "log",
-          "std",
-          "tracing-attributes"
-        ],
+        "crate_features": {
+          "common": [
+            "attributes",
+            "default",
+            "log",
+            "std",
+            "tracing-attributes"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -3762,7 +3684,7 @@
               "target": "pin_project_lite"
             },
             {
-              "id": "tracing-core 0.1.28",
+              "id": "tracing-core 0.1.30",
               "target": "tracing_core"
             }
           ],
@@ -3772,23 +3694,23 @@
         "proc_macro_deps": {
           "common": [
             {
-              "id": "tracing-attributes 0.1.22",
+              "id": "tracing-attributes 0.1.23",
               "target": "tracing_attributes"
             }
           ],
           "selects": {}
         },
-        "version": "0.1.35"
+        "version": "0.1.37"
       },
       "license": "MIT"
     },
-    "tracing-attributes 0.1.22": {
+    "tracing-attributes 0.1.23": {
       "name": "tracing-attributes",
-      "version": "0.1.22",
+      "version": "0.1.23",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tracing-attributes/0.1.22/download",
-          "sha256": "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
+          "url": "https://crates.io/api/v1/crates/tracing-attributes/0.1.23/download",
+          "sha256": "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
         }
       },
       "targets": [
@@ -3796,12 +3718,9 @@
           "ProcMacro": {
             "crate_name": "tracing_attributes",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3813,32 +3732,32 @@
         "deps": {
           "common": [
             {
-              "id": "proc-macro2 1.0.40",
+              "id": "proc-macro2 1.0.51",
               "target": "proc_macro2"
             },
             {
-              "id": "quote 1.0.20",
+              "id": "quote 1.0.23",
               "target": "quote"
             },
             {
-              "id": "syn 1.0.98",
+              "id": "syn 1.0.109",
               "target": "syn"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.1.22"
+        "version": "0.1.23"
       },
       "license": "MIT"
     },
-    "tracing-core 0.1.28": {
+    "tracing-core 0.1.30": {
       "name": "tracing-core",
-      "version": "0.1.28",
+      "version": "0.1.30",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tracing-core/0.1.28/download",
-          "sha256": "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7"
+          "url": "https://crates.io/api/v1/crates/tracing-core/0.1.30/download",
+          "sha256": "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
         }
       },
       "targets": [
@@ -3846,12 +3765,9 @@
           "Library": {
             "crate_name": "tracing_core",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3860,16 +3776,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "once_cell",
-          "std",
-          "valuable"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "once_cell",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "once_cell 1.13.0",
+              "id": "once_cell 1.17.1",
               "target": "once_cell"
             }
           ],
@@ -3883,7 +3801,7 @@
           }
         },
         "edition": "2018",
-        "version": "0.1.28"
+        "version": "0.1.30"
       },
       "license": "MIT"
     },
@@ -3901,12 +3819,9 @@
           "Library": {
             "crate_name": "tracing_log",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3915,10 +3830,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "log-tracer",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "log-tracer",
+            "std"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -3930,7 +3848,7 @@
               "target": "log"
             },
             {
-              "id": "tracing-core 0.1.28",
+              "id": "tracing-core 0.1.30",
               "target": "tracing_core"
             }
           ],
@@ -3941,13 +3859,13 @@
       },
       "license": "MIT"
     },
-    "tracing-subscriber 0.3.14": {
+    "tracing-subscriber 0.3.16": {
       "name": "tracing-subscriber",
-      "version": "0.3.14",
+      "version": "0.3.16",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/tracing-subscriber/0.3.14/download",
-          "sha256": "3a713421342a5a666b7577783721d3117f1b69a393df803ee17bb73b1e122a59"
+          "url": "https://crates.io/api/v1/crates/tracing-subscriber/0.3.16/download",
+          "sha256": "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
         }
       },
       "targets": [
@@ -3955,12 +3873,9 @@
           "Library": {
             "crate_name": "tracing_subscriber",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -3969,39 +3884,42 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "ansi",
-          "ansi_term",
-          "default",
-          "fmt",
-          "registry",
-          "sharded-slab",
-          "smallvec",
-          "std",
-          "thread_local",
-          "tracing-log"
-        ],
+        "crate_features": {
+          "common": [
+            "alloc",
+            "ansi",
+            "default",
+            "fmt",
+            "nu-ansi-term",
+            "registry",
+            "sharded-slab",
+            "smallvec",
+            "std",
+            "thread_local",
+            "tracing-log"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
-              "id": "ansi_term 0.12.1",
-              "target": "ansi_term"
+              "id": "nu-ansi-term 0.46.0",
+              "target": "nu_ansi_term"
             },
             {
               "id": "sharded-slab 0.1.4",
               "target": "sharded_slab"
             },
             {
-              "id": "smallvec 1.9.0",
+              "id": "smallvec 1.10.0",
               "target": "smallvec"
             },
             {
-              "id": "thread_local 1.1.4",
+              "id": "thread_local 1.1.7",
               "target": "thread_local"
             },
             {
-              "id": "tracing-core 0.1.28",
+              "id": "tracing-core 0.1.30",
               "target": "tracing_core"
             },
             {
@@ -4012,17 +3930,17 @@
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.3.14"
+        "version": "0.3.16"
       },
       "license": "MIT"
     },
-    "try-lock 0.2.3": {
+    "try-lock 0.2.4": {
       "name": "try-lock",
-      "version": "0.2.3",
+      "version": "0.2.4",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/try-lock/0.2.3/download",
-          "sha256": "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+          "url": "https://crates.io/api/v1/crates/try-lock/0.2.4/download",
+          "sha256": "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
         }
       },
       "targets": [
@@ -4030,12 +3948,9 @@
           "Library": {
             "crate_name": "try_lock",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4045,17 +3960,17 @@
           "**"
         ],
         "edition": "2015",
-        "version": "0.2.3"
+        "version": "0.2.4"
       },
       "license": "MIT"
     },
-    "unicode-ident 1.0.1": {
+    "unicode-ident 1.0.6": {
       "name": "unicode-ident",
-      "version": "1.0.1",
+      "version": "1.0.6",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/unicode-ident/1.0.1/download",
-          "sha256": "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+          "url": "https://crates.io/api/v1/crates/unicode-ident/1.0.6/download",
+          "sha256": "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
         }
       },
       "targets": [
@@ -4063,12 +3978,9 @@
           "Library": {
             "crate_name": "unicode_ident",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4078,9 +3990,9 @@
           "**"
         ],
         "edition": "2018",
-        "version": "1.0.1"
+        "version": "1.0.6"
       },
-      "license": "MIT OR Apache-2.0"
+      "license": "(MIT OR Apache-2.0) AND Unicode-DFS-2016"
     },
     "valuable 0.1.0": {
       "name": "valuable",
@@ -4096,24 +4008,18 @@
           "Library": {
             "crate_name": "valuable",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4122,10 +4028,6 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "alloc",
-          "std"
-        ],
         "deps": {
           "common": [
             {
@@ -4159,12 +4061,9 @@
           "Library": {
             "crate_name": "want",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4180,7 +4079,7 @@
               "target": "log"
             },
             {
-              "id": "try-lock 0.2.3",
+              "id": "try-lock 0.2.4",
               "target": "try_lock"
             }
           ],
@@ -4205,12 +4104,9 @@
           "Library": {
             "crate_name": "wasi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4219,10 +4115,13 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "default",
-          "std"
-        ],
+        "crate_features": {
+          "common": [
+            "default",
+            "std"
+          ],
+          "selects": {}
+        },
         "edition": "2018",
         "version": "0.11.0+wasi-snapshot-preview1"
       },
@@ -4242,24 +4141,18 @@
           "Library": {
             "crate_name": "winapi",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4268,20 +4161,18 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "consoleapi",
-          "errhandlingapi",
-          "fileapi",
-          "handleapi",
-          "mswsock",
-          "namedpipeapi",
-          "processenv",
-          "std",
-          "threadpoollegacyapiset",
-          "winsock2",
-          "ws2ipdef",
-          "ws2tcpip"
-        ],
+        "crate_features": {
+          "common": [
+            "consoleapi",
+            "errhandlingapi",
+            "fileapi",
+            "handleapi",
+            "processenv",
+            "ws2ipdef",
+            "ws2tcpip"
+          ],
+          "selects": {}
+        },
         "deps": {
           "common": [
             {
@@ -4328,24 +4219,18 @@
           "Library": {
             "crate_name": "winapi_i686_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4387,24 +4272,18 @@
           "Library": {
             "crate_name": "winapi_x86_64_pc_windows_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4432,13 +4311,13 @@
       },
       "license": "MIT/Apache-2.0"
     },
-    "windows-sys 0.36.1": {
+    "windows-sys 0.45.0": {
       "name": "windows-sys",
-      "version": "0.36.1",
+      "version": "0.45.0",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows-sys/0.36.1/download",
-          "sha256": "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+          "url": "https://crates.io/api/v1/crates/windows-sys/0.45.0/download",
+          "sha256": "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
         }
       },
       "targets": [
@@ -4446,12 +4325,9 @@
           "Library": {
             "crate_name": "windows_sys",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4460,99 +4336,210 @@
         "compile_data_glob": [
           "**"
         ],
-        "crate_features": [
-          "Win32",
-          "Win32_Foundation",
-          "Win32_Networking",
-          "Win32_Networking_WinSock",
-          "Win32_Security",
-          "Win32_Storage",
-          "Win32_Storage_FileSystem",
-          "Win32_System",
-          "Win32_System_IO",
-          "Win32_System_LibraryLoader",
-          "Win32_System_Pipes",
-          "Win32_System_SystemServices",
-          "Win32_System_WindowsProgramming",
-          "default"
+        "crate_features": {
+          "common": [
+            "Win32",
+            "Win32_Foundation",
+            "Win32_Networking",
+            "Win32_Networking_WinSock",
+            "Win32_Security",
+            "Win32_Storage",
+            "Win32_Storage_FileSystem",
+            "Win32_System",
+            "Win32_System_Console",
+            "Win32_System_IO",
+            "Win32_System_LibraryLoader",
+            "Win32_System_Pipes",
+            "Win32_System_SystemServices",
+            "Win32_System_Threading",
+            "Win32_System_WindowsProgramming",
+            "default"
+          ],
+          "selects": {}
+        },
+        "deps": {
+          "common": [],
+          "selects": {
+            "cfg(not(windows_raw_dylib))": [
+              {
+                "id": "windows-targets 0.42.1",
+                "target": "windows_targets"
+              }
+            ]
+          }
+        },
+        "edition": "2018",
+        "version": "0.45.0"
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "windows-targets 0.42.1": {
+      "name": "windows-targets",
+      "version": "0.42.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/windows-targets/0.42.1/download",
+          "sha256": "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "windows_targets",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "windows_targets",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
         ],
         "deps": {
           "common": [],
           "selects": {
+            "aarch64-pc-windows-gnullvm": [
+              {
+                "id": "windows_aarch64_gnullvm 0.42.1",
+                "target": "windows_aarch64_gnullvm"
+              }
+            ],
             "aarch64-pc-windows-msvc": [
               {
-                "id": "windows_aarch64_msvc 0.36.1",
+                "id": "windows_aarch64_msvc 0.42.1",
                 "target": "windows_aarch64_msvc"
               }
             ],
             "aarch64-uwp-windows-msvc": [
               {
-                "id": "windows_aarch64_msvc 0.36.1",
+                "id": "windows_aarch64_msvc 0.42.1",
                 "target": "windows_aarch64_msvc"
               }
             ],
             "i686-pc-windows-gnu": [
               {
-                "id": "windows_i686_gnu 0.36.1",
+                "id": "windows_i686_gnu 0.42.1",
                 "target": "windows_i686_gnu"
               }
             ],
             "i686-pc-windows-msvc": [
               {
-                "id": "windows_i686_msvc 0.36.1",
+                "id": "windows_i686_msvc 0.42.1",
                 "target": "windows_i686_msvc"
               }
             ],
             "i686-uwp-windows-gnu": [
               {
-                "id": "windows_i686_gnu 0.36.1",
+                "id": "windows_i686_gnu 0.42.1",
                 "target": "windows_i686_gnu"
               }
             ],
             "i686-uwp-windows-msvc": [
               {
-                "id": "windows_i686_msvc 0.36.1",
+                "id": "windows_i686_msvc 0.42.1",
                 "target": "windows_i686_msvc"
               }
             ],
             "x86_64-pc-windows-gnu": [
               {
-                "id": "windows_x86_64_gnu 0.36.1",
+                "id": "windows_x86_64_gnu 0.42.1",
                 "target": "windows_x86_64_gnu"
               }
             ],
+            "x86_64-pc-windows-gnullvm": [
+              {
+                "id": "windows_x86_64_gnullvm 0.42.1",
+                "target": "windows_x86_64_gnullvm"
+              }
+            ],
             "x86_64-pc-windows-msvc": [
               {
-                "id": "windows_x86_64_msvc 0.36.1",
+                "id": "windows_x86_64_msvc 0.42.1",
                 "target": "windows_x86_64_msvc"
               }
             ],
             "x86_64-uwp-windows-gnu": [
               {
-                "id": "windows_x86_64_gnu 0.36.1",
+                "id": "windows_x86_64_gnu 0.42.1",
                 "target": "windows_x86_64_gnu"
               }
             ],
             "x86_64-uwp-windows-msvc": [
               {
-                "id": "windows_x86_64_msvc 0.36.1",
+                "id": "windows_x86_64_msvc 0.42.1",
                 "target": "windows_x86_64_msvc"
               }
             ]
           }
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_aarch64_msvc 0.36.1": {
-      "name": "windows_aarch64_msvc",
-      "version": "0.36.1",
+    "windows_aarch64_gnullvm 0.42.1": {
+      "name": "windows_aarch64_gnullvm",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download",
-          "sha256": "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+          "url": "https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.42.1/download",
+          "sha256": "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "windows_aarch64_gnullvm",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "windows_aarch64_gnullvm",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "windows_aarch64_gnullvm 0.42.1",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.42.1"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ]
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "windows_aarch64_msvc 0.42.1": {
+      "name": "windows_aarch64_msvc",
+      "version": "0.42.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.42.1/download",
+          "sha256": "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
         }
       },
       "targets": [
@@ -4560,24 +4547,18 @@
           "Library": {
             "crate_name": "windows_aarch64_msvc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4589,14 +4570,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_aarch64_msvc 0.36.1",
+              "id": "windows_aarch64_msvc 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4605,13 +4586,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_i686_gnu 0.36.1": {
+    "windows_i686_gnu 0.42.1": {
       "name": "windows_i686_gnu",
-      "version": "0.36.1",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download",
-          "sha256": "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+          "url": "https://crates.io/api/v1/crates/windows_i686_gnu/0.42.1/download",
+          "sha256": "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
         }
       },
       "targets": [
@@ -4619,24 +4600,18 @@
           "Library": {
             "crate_name": "windows_i686_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4648,14 +4623,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_i686_gnu 0.36.1",
+              "id": "windows_i686_gnu 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4664,13 +4639,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_i686_msvc 0.36.1": {
+    "windows_i686_msvc 0.42.1": {
       "name": "windows_i686_msvc",
-      "version": "0.36.1",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download",
-          "sha256": "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+          "url": "https://crates.io/api/v1/crates/windows_i686_msvc/0.42.1/download",
+          "sha256": "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
         }
       },
       "targets": [
@@ -4678,24 +4653,18 @@
           "Library": {
             "crate_name": "windows_i686_msvc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4707,14 +4676,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_i686_msvc 0.36.1",
+              "id": "windows_i686_msvc 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4723,13 +4692,13 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_x86_64_gnu 0.36.1": {
+    "windows_x86_64_gnu 0.42.1": {
       "name": "windows_x86_64_gnu",
-      "version": "0.36.1",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download",
-          "sha256": "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+          "url": "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.42.1/download",
+          "sha256": "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
         }
       },
       "targets": [
@@ -4737,24 +4706,18 @@
           "Library": {
             "crate_name": "windows_x86_64_gnu",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4766,14 +4729,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_x86_64_gnu 0.36.1",
+              "id": "windows_x86_64_gnu 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4782,13 +4745,66 @@
       },
       "license": "MIT OR Apache-2.0"
     },
-    "windows_x86_64_msvc 0.36.1": {
-      "name": "windows_x86_64_msvc",
-      "version": "0.36.1",
+    "windows_x86_64_gnullvm 0.42.1": {
+      "name": "windows_x86_64_gnullvm",
+      "version": "0.42.1",
       "repository": {
         "Http": {
-          "url": "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download",
-          "sha256": "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+          "url": "https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.42.1/download",
+          "sha256": "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+        }
+      },
+      "targets": [
+        {
+          "Library": {
+            "crate_name": "windows_x86_64_gnullvm",
+            "crate_root": "src/lib.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        },
+        {
+          "BuildScript": {
+            "crate_name": "build_script_build",
+            "crate_root": "build.rs",
+            "srcs": [
+              "**/*.rs"
+            ]
+          }
+        }
+      ],
+      "library_target_name": "windows_x86_64_gnullvm",
+      "common_attrs": {
+        "compile_data_glob": [
+          "**"
+        ],
+        "deps": {
+          "common": [
+            {
+              "id": "windows_x86_64_gnullvm 0.42.1",
+              "target": "build_script_build"
+            }
+          ],
+          "selects": {}
+        },
+        "edition": "2018",
+        "version": "0.42.1"
+      },
+      "build_script_attrs": {
+        "data_glob": [
+          "**"
+        ]
+      },
+      "license": "MIT OR Apache-2.0"
+    },
+    "windows_x86_64_msvc 0.42.1": {
+      "name": "windows_x86_64_msvc",
+      "version": "0.42.1",
+      "repository": {
+        "Http": {
+          "url": "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.42.1/download",
+          "sha256": "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
         }
       },
       "targets": [
@@ -4796,24 +4812,18 @@
           "Library": {
             "crate_name": "windows_x86_64_msvc",
             "crate_root": "src/lib.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         },
         {
           "BuildScript": {
             "crate_name": "build_script_build",
             "crate_root": "build.rs",
-            "srcs": {
-              "include": [
-                "**/*.rs"
-              ],
-              "exclude": []
-            }
+            "srcs": [
+              "**/*.rs"
+            ]
           }
         }
       ],
@@ -4825,14 +4835,14 @@
         "deps": {
           "common": [
             {
-              "id": "windows_x86_64_msvc 0.36.1",
+              "id": "windows_x86_64_msvc 0.42.1",
               "target": "build_script_build"
             }
           ],
           "selects": {}
         },
         "edition": "2018",
-        "version": "0.36.1"
+        "version": "0.42.1"
       },
       "build_script_attrs": {
         "data_glob": [
@@ -4847,13 +4857,49 @@
     "direct-cargo-bazel-deps 0.0.1": ""
   },
   "conditions": {
-    "aarch64-pc-windows-msvc": [],
+    "aarch64-pc-windows-gnullvm": [],
+    "aarch64-pc-windows-msvc": [
+      "aarch64-pc-windows-msvc"
+    ],
     "aarch64-uwp-windows-msvc": [],
     "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": [
+      "aarch64-apple-darwin",
+      "aarch64-apple-ios",
+      "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
+      "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
+      "aarch64-unknown-linux-gnu",
+      "arm-unknown-linux-gnueabi",
+      "armv7-linux-androideabi",
+      "armv7-unknown-linux-gnueabi",
+      "i686-apple-darwin",
+      "i686-linux-android",
+      "i686-pc-windows-msvc",
+      "i686-unknown-freebsd",
+      "i686-unknown-linux-gnu",
+      "powerpc-unknown-linux-gnu",
+      "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
+      "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
+      "x86_64-apple-darwin",
+      "x86_64-apple-ios",
+      "x86_64-fuchsia",
+      "x86_64-linux-android",
+      "x86_64-pc-windows-msvc",
+      "x86_64-unknown-freebsd",
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
+    ],
     "cfg(not(windows))": [
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -4865,20 +4911,59 @@
       "i686-unknown-linux-gnu",
       "powerpc-unknown-linux-gnu",
       "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
       "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
       "wasm32-unknown-unknown",
       "wasm32-wasi",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
-      "x86_64-unknown-linux-gnu"
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
+    ],
+    "cfg(not(windows_raw_dylib))": [
+      "aarch64-apple-darwin",
+      "aarch64-apple-ios",
+      "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
+      "aarch64-linux-android",
+      "aarch64-pc-windows-msvc",
+      "aarch64-unknown-linux-gnu",
+      "arm-unknown-linux-gnueabi",
+      "armv7-linux-androideabi",
+      "armv7-unknown-linux-gnueabi",
+      "i686-apple-darwin",
+      "i686-linux-android",
+      "i686-pc-windows-msvc",
+      "i686-unknown-freebsd",
+      "i686-unknown-linux-gnu",
+      "powerpc-unknown-linux-gnu",
+      "riscv32imc-unknown-none-elf",
+      "riscv64gc-unknown-none-elf",
+      "s390x-unknown-linux-gnu",
+      "thumbv7em-none-eabi",
+      "thumbv8m.main-none-eabi",
+      "wasm32-unknown-unknown",
+      "wasm32-wasi",
+      "x86_64-apple-darwin",
+      "x86_64-apple-ios",
+      "x86_64-fuchsia",
+      "x86_64-linux-android",
+      "x86_64-pc-windows-msvc",
+      "x86_64-unknown-freebsd",
+      "x86_64-unknown-linux-gnu",
+      "x86_64-unknown-none"
     ],
     "cfg(target_os = \"redox\")": [],
     "cfg(target_os = \"wasi\")": [
       "wasm32-wasi"
     ],
     "cfg(target_os = \"windows\")": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
@@ -4887,6 +4972,7 @@
       "aarch64-apple-darwin",
       "aarch64-apple-ios",
       "aarch64-apple-ios-sim",
+      "aarch64-fuchsia",
       "aarch64-linux-android",
       "aarch64-unknown-linux-gnu",
       "arm-unknown-linux-gnueabi",
@@ -4900,11 +4986,13 @@
       "s390x-unknown-linux-gnu",
       "x86_64-apple-darwin",
       "x86_64-apple-ios",
+      "x86_64-fuchsia",
       "x86_64-linux-android",
       "x86_64-unknown-freebsd",
       "x86_64-unknown-linux-gnu"
     ],
     "cfg(windows)": [
+      "aarch64-pc-windows-msvc",
       "i686-pc-windows-msvc",
       "x86_64-pc-windows-msvc"
     ],
@@ -4915,6 +5003,7 @@
     "i686-uwp-windows-gnu": [],
     "i686-uwp-windows-msvc": [],
     "x86_64-pc-windows-gnu": [],
+    "x86_64-pc-windows-gnullvm": [],
     "x86_64-pc-windows-msvc": [
       "x86_64-pc-windows-msvc"
     ],
diff --git a/examples/crate_universe/no_cargo_manifests/src/main.rs b/examples/crate_universe/no_cargo_manifests/src/main.rs
index edde4b6..3812c30 100644
--- a/examples/crate_universe/no_cargo_manifests/src/main.rs
+++ b/examples/crate_universe/no_cargo_manifests/src/main.rs
@@ -137,7 +137,7 @@
         let response = client
             .request(
                 Request::builder()
-                    .uri(format!("http://{}", addr))
+                    .uri(format!("http://{addr}"))
                     .body(Body::empty())
                     .unwrap(),
             )
diff --git a/examples/crate_universe/vendor_external/BUILD.bazel b/examples/crate_universe/vendor_external/BUILD.bazel
index fb3708e..dc2bf9f 100644
--- a/examples/crate_universe/vendor_external/BUILD.bazel
+++ b/examples/crate_universe/vendor_external/BUILD.bazel
@@ -7,6 +7,7 @@
 
 crates_vendor(
     name = "crates_vendor",
+    cargo_lockfile = "@names_external//:Cargo.lock",
     manifests = ["@names_external//:Cargo.toml"],
     mode = "remote",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.atty-0.2.14.bazel b/examples/crate_universe/vendor_external/crates/BUILD.atty-0.2.14.bazel
index 2c182ca..7398c0c 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.atty-0.2.14.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.atty-0.2.14.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,107 +16,135 @@
 
 rust_library(
     name = "atty",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=atty",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.2.14",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "hermit")
-        #
-        # No supported platform triples for cfg: 'cfg(target_os = "hermit")'
-        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
-        #
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor__libc-0.2.126//:libc",
-
-            # Common Deps
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
         ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor__winapi-0.3.9//:winapi",
-
-            # Common Deps
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
         ],
-        "//conditions:default": [
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
     }),
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.autocfg-1.1.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.autocfg-1.1.0.bazel
index 3b60731..132eb65 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.autocfg-1.1.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.autocfg-1.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "autocfg",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=autocfg",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.1.0",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.bazel b/examples/crate_universe/vendor_external/crates/BUILD.bazel
index d22556d..a4e6787 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.bazel
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -11,11 +11,9 @@
 exports_files(
     [
         "cargo-bazel.json",
-        "defs.bzl",
         "crates.bzl",
-    ] + glob([
-        "*.bazel",
-    ]),
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
 )
 
 filegroup(
@@ -29,7 +27,7 @@
 # Workspace Member Dependencies
 alias(
     name = "clap",
-    actual = "@crates_vendor__clap-3.2.14//:clap",
+    actual = "@crates_vendor__clap-3.1.5//:clap",
     tags = ["manual"],
 )
 
@@ -50,16 +48,3 @@
     actual = "@crates_vendor__version-sync-0.9.4//:version_sync",
     tags = ["manual"],
 )
-
-# Binaries
-alias(
-    name = "clap__stdio-fixture",
-    actual = "@crates_vendor__clap-3.2.14//:stdio-fixture__bin",
-    tags = ["manual"],
-)
-
-alias(
-    name = "pulldown-cmark__pulldown-cmark",
-    actual = "@crates_vendor__pulldown-cmark-0.8.0//:pulldown-cmark__bin",
-    tags = ["manual"],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.bitflags-1.3.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.bitflags-1.3.2.bazel
index 2171174..f7ce337 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.bitflags-1.3.2.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.bitflags-1.3.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "bitflags",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=bitflags",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.3.2",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.cfg-if-1.0.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.cfg-if-1.0.0.bazel
index b2a4be9..caff9e7 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.cfg-if-1.0.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.cfg-if-1.0.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "cfg_if",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=cfg-if",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.0.0",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap-3.1.5.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap-3.1.5.bazel
new file mode 100644
index 0000000..dbe31fb
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.clap-3.1.5.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "clap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "atty",
+        "clap_derive",
+        "color",
+        "default",
+        "derive",
+        "lazy_static",
+        "std",
+        "strsim",
+        "suggestions",
+        "termcolor",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor__clap_derive-3.1.4//:clap_derive",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=clap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "3.1.5",
+    deps = [
+        "@crates_vendor__atty-0.2.14//:atty",
+        "@crates_vendor__bitflags-1.3.2//:bitflags",
+        "@crates_vendor__indexmap-1.8.0//:indexmap",
+        "@crates_vendor__lazy_static-1.4.0//:lazy_static",
+        "@crates_vendor__os_str_bytes-6.0.0//:os_str_bytes",
+        "@crates_vendor__strsim-0.10.0//:strsim",
+        "@crates_vendor__termcolor-1.1.3//:termcolor",
+        "@crates_vendor__textwrap-0.15.0//:textwrap",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap-3.2.14.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap-3.2.14.bazel
deleted file mode 100644
index 28e28ac..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.clap-3.2.14.bazel
+++ /dev/null
@@ -1,195 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "clap",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "atty",
-        "clap_derive",
-        "color",
-        "default",
-        "derive",
-        "once_cell",
-        "std",
-        "strsim",
-        "suggestions",
-        "termcolor",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__clap_derive-3.2.7//:clap_derive",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "3.2.14",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__atty-0.2.14//:atty",
-            "@crates_vendor__bitflags-1.3.2//:bitflags",
-            "@crates_vendor__clap_lex-0.2.4//:clap_lex",
-            "@crates_vendor__indexmap-1.9.1//:indexmap",
-            "@crates_vendor__once_cell-1.13.0//:once_cell",
-            "@crates_vendor__strsim-0.10.0//:strsim",
-            "@crates_vendor__termcolor-1.1.3//:termcolor",
-            "@crates_vendor__textwrap-0.15.0//:textwrap",
-        ],
-    }),
-)
-
-rust_binary(
-    name = "stdio-fixture__bin",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "atty",
-        "clap_derive",
-        "color",
-        "default",
-        "derive",
-        "once_cell",
-        "std",
-        "strsim",
-        "suggestions",
-        "termcolor",
-    ],
-    crate_root = "src/bin/stdio-fixture.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__clap_derive-3.2.7//:clap_derive",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "3.2.14",
-    deps = [
-        ":clap",
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__atty-0.2.14//:atty",
-            "@crates_vendor__bitflags-1.3.2//:bitflags",
-            "@crates_vendor__clap_lex-0.2.4//:clap_lex",
-            "@crates_vendor__indexmap-1.9.1//:indexmap",
-            "@crates_vendor__once_cell-1.13.0//:once_cell",
-            "@crates_vendor__strsim-0.10.0//:strsim",
-            "@crates_vendor__termcolor-1.1.3//:termcolor",
-            "@crates_vendor__textwrap-0.15.0//:textwrap",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.1.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.1.4.bazel
new file mode 100644
index 0000000..a699a66
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.1.4.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_proc_macro(
+    name = "clap_derive",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=clap_derive",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "3.1.4",
+    deps = [
+        "@crates_vendor__heck-0.4.0//:heck",
+        "@crates_vendor__proc-macro-error-1.0.4//:proc_macro_error",
+        "@crates_vendor__proc-macro2-1.0.36//:proc_macro2",
+        "@crates_vendor__quote-1.0.15//:quote",
+        "@crates_vendor__syn-1.0.86//:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.2.7.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.2.7.bazel
deleted file mode 100644
index 876e5c3..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.2.7.bazel
+++ /dev/null
@@ -1,96 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_proc_macro(
-    name = "clap_derive",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "3.2.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__heck-0.4.0//:heck",
-            "@crates_vendor__proc-macro-error-1.0.4//:proc_macro_error",
-            "@crates_vendor__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor__quote-1.0.20//:quote",
-            "@crates_vendor__syn-1.0.98//:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap_lex-0.2.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap_lex-0.2.4.bazel
deleted file mode 100644
index 09a8c32..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.clap_lex-0.2.4.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "clap_lex",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.4",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__os_str_bytes-6.2.0//:os_str_bytes",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.form_urlencoded-1.0.1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.form_urlencoded-1.0.1.bazel
index e028933..5a4ee6f 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.form_urlencoded-1.0.1.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.form_urlencoded-1.0.1.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,67 +16,64 @@
 
 rust_library(
     name = "form_urlencoded",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=form_urlencoded",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "1.0.1",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__matches-0.1.9//:matches",
-            "@crates_vendor__percent-encoding-2.1.0//:percent_encoding",
-        ],
-    }),
+        "@crates_vendor__matches-0.1.9//:matches",
+        "@crates_vendor__percent-encoding-2.1.0//:percent_encoding",
+    ],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.5.bazel b/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.5.bazel
new file mode 100644
index 0000000..a2448c8
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.5.bazel
@@ -0,0 +1,149 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "getrandom",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=getrandom",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.5",
+    deps = [
+        "@crates_vendor__cfg-if-1.0.0//:cfg_if",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor__wasi-0.10.2-wasi-snapshot-preview1//:wasi",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.7.bazel b/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.7.bazel
deleted file mode 100644
index 2b0eb93..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.7.bazel
+++ /dev/null
@@ -1,130 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "getrandom",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.7",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "wasi")
-        (
-            "@rules_rust//rust/platform:wasm32-wasi",
-        ): [
-            # Target Deps
-            "@crates_vendor__wasi-0.11.0-wasi-snapshot-preview1//:wasi",
-
-            # Common Deps
-            "@crates_vendor__cfg-if-1.0.0//:cfg_if",
-        ],
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor__libc-0.2.126//:libc",
-
-            # Common Deps
-            "@crates_vendor__cfg-if-1.0.0//:cfg_if",
-        ],
-        "//conditions:default": [
-            "@crates_vendor__cfg-if-1.0.0//:cfg_if",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.11.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.11.2.bazel
new file mode 100644
index 0000000..5ae6248
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.11.2.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "hashbrown",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "raw",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hashbrown",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.11.2",
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.12.3.bazel b/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.12.3.bazel
deleted file mode 100644
index ee4c144..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.12.3.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "hashbrown",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "raw",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.12.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.heck-0.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.heck-0.4.0.bazel
index b7a6bcf..f205355 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.heck-0.4.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.heck-0.4.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "heck",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=heck",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.4.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.4.0",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.hermit-abi-0.1.19.bazel b/examples/crate_universe/vendor_external/crates/BUILD.hermit-abi-0.1.19.bazel
index 29ea303..a3e6eab 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.hermit-abi-0.1.19.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.hermit-abi-0.1.19.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,67 +16,63 @@
 
 rust_library(
     name = "hermit_abi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=hermit-abi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.1.19",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__libc-0.2.126//:libc",
-        ],
-    }),
+        "@crates_vendor__libc-0.2.119//:libc",
+    ],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.idna-0.2.3.bazel b/examples/crate_universe/vendor_external/crates/BUILD.idna-0.2.3.bazel
index 23a60c1..73c4ec9 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.idna-0.2.3.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.idna-0.2.3.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,68 +16,65 @@
 
 rust_library(
     name = "idna",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=idna",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.2.3",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__matches-0.1.9//:matches",
-            "@crates_vendor__unicode-bidi-0.3.8//:unicode_bidi",
-            "@crates_vendor__unicode-normalization-0.1.21//:unicode_normalization",
-        ],
-    }),
+        "@crates_vendor__matches-0.1.9//:matches",
+        "@crates_vendor__unicode-bidi-0.3.7//:unicode_bidi",
+        "@crates_vendor__unicode-normalization-0.1.19//:unicode_normalization",
+    ],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.8.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.8.0.bazel
new file mode 100644
index 0000000..75b8cb2
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.8.0.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "indexmap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.8.0",
+    deps = [
+        "@crates_vendor__hashbrown-0.11.2//:hashbrown",
+        "@crates_vendor__indexmap-1.8.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "indexmap_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.8.0",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "indexmap_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.9.1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.9.1.bazel
deleted file mode 100644
index 462a5c9..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.9.1.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "indexmap",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.9.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__hashbrown-0.12.3//:hashbrown",
-            "@crates_vendor__indexmap-1.9.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "indexmap_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.9.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__autocfg-1.1.0//:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "indexmap_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.lazy_static-1.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.lazy_static-1.4.0.bazel
new file mode 100644
index 0000000..023e128
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.lazy_static-1.4.0.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "lazy_static",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lazy_static",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.119.bazel b/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.119.bazel
new file mode 100644
index 0000000..2fb9493
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.119.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.119",
+    deps = [
+        "@crates_vendor__libc-0.2.119//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.119",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.126.bazel b/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.126.bazel
deleted file mode 100644
index e65cf08..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.126.bazel
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.126",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__libc-0.2.126//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "libc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.2.126",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "libc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.matches-0.1.9.bazel b/examples/crate_universe/vendor_external/crates/BUILD.matches-0.1.9.bazel
index 86545ae..3802ef6 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.matches-0.1.9.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.matches-0.1.9.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "matches",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=matches",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.1.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.1.9",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.4.1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.4.1.bazel
new file mode 100644
index 0000000..459d064
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.4.1.bazel
@@ -0,0 +1,123 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense/MIT
+# ])
+
+rust_library(
+    name = "memchr",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memchr",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.4.1",
+    deps = [
+        "@crates_vendor__memchr-2.4.1//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "memchr_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memchr",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.4.1",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "memchr_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.5.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.5.0.bazel
deleted file mode 100644
index 1f83b45..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.5.0.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
-rust_library(
-    name = "memchr",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.5.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__memchr-2.5.0//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "memchr_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "2.5.0",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "memchr_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.once_cell-1.13.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.once_cell-1.13.0.bazel
deleted file mode 100644
index d0b6a1f..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.once_cell-1.13.0.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "once_cell",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.0.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.0.0.bazel
new file mode 100644
index 0000000..8005068
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.0.0.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "os_str_bytes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "memchr",
+        "raw_os_str",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=os_str_bytes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "6.0.0",
+    deps = [
+        "@crates_vendor__memchr-2.4.1//:memchr",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.2.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.2.0.bazel
deleted file mode 100644
index c633c4e..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.2.0.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "os_str_bytes",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "raw_os_str",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "6.2.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.percent-encoding-2.1.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.percent-encoding-2.1.0.bazel
index 37966d5..c07a7d3 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.percent-encoding-2.1.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.percent-encoding-2.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "percent_encoding",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=percent-encoding",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "2.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "2.1.0",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.ppv-lite86-0.2.16.bazel b/examples/crate_universe/vendor_external/crates/BUILD.ppv-lite86-0.2.16.bazel
index f734f5f..991c0d1 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.ppv-lite86-0.2.16.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.ppv-lite86-0.2.16.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,67 +16,64 @@
 
 rust_library(
     name = "ppv_lite86",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "simd",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=ppv-lite86",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.16",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.2.16",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-1.0.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-1.0.4.bazel
index 125c73f..0162660 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-1.0.4.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-1.0.4.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,97 +17,81 @@
 
 rust_library(
     name = "proc_macro_error",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "syn",
         "syn-error",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
     proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__proc-macro-error-attr-1.0.4//:proc_macro_error_attr",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
+        "@crates_vendor__proc-macro-error-attr-1.0.4//:proc_macro_error_attr",
     ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=proc-macro-error",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "1.0.4",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__proc-macro-error-1.0.4//:build_script_build",
-            "@crates_vendor__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor__quote-1.0.20//:quote",
-            "@crates_vendor__syn-1.0.98//:syn",
-        ],
-    }),
+        "@crates_vendor__proc-macro-error-1.0.4//:build_script_build",
+        "@crates_vendor__proc-macro2-1.0.36//:proc_macro2",
+        "@crates_vendor__quote-1.0.15//:quote",
+        "@crates_vendor__syn-1.0.86//:syn",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "proc-macro-error_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
         "default",
         "syn",
@@ -128,58 +99,36 @@
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=proc-macro-error",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "1.0.4",
     visibility = ["//visibility:private"],
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__version_check-0.9.4//:version_check",
-        ],
-    }),
+        "@crates_vendor__version_check-0.9.4//:version_check",
+    ],
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "proc-macro-error_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-attr-1.0.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
index 3ad585e..c282ffc 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,148 +17,104 @@
 
 rust_proc_macro(
     name = "proc_macro_error_attr",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=proc-macro-error-attr",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "1.0.4",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__proc-macro-error-attr-1.0.4//:build_script_build",
-            "@crates_vendor__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor__quote-1.0.20//:quote",
-        ],
-    }),
+        "@crates_vendor__proc-macro-error-attr-1.0.4//:build_script_build",
+        "@crates_vendor__proc-macro2-1.0.36//:proc_macro2",
+        "@crates_vendor__quote-1.0.15//:quote",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "proc-macro-error-attr_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=proc-macro-error-attr",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "1.0.4",
     visibility = ["//visibility:private"],
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__version_check-0.9.4//:version_check",
-        ],
-    }),
+        "@crates_vendor__version_check-0.9.4//:version_check",
+    ],
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "proc-macro-error-attr_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.36.bazel b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.36.bazel
new file mode 100644
index 0000000..c574465
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.36.bazel
@@ -0,0 +1,126 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+        "span-locations",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.36",
+    deps = [
+        "@crates_vendor__proc-macro2-1.0.36//:build_script_build",
+        "@crates_vendor__unicode-xid-0.2.2//:unicode_xid",
+    ],
+)
+
+cargo_build_script(
+    name = "proc-macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+        "span-locations",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.36",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.40.bazel b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.40.bazel
deleted file mode 100644
index 92b0c55..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.40.bazel
+++ /dev/null
@@ -1,181 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "proc_macro2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-        "span-locations",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.40",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__proc-macro2-1.0.40//:build_script_build",
-            "@crates_vendor__unicode-ident-1.0.2//:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "proc-macro2_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-        "span-locations",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.40",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "proc-macro2_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.pulldown-cmark-0.8.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.pulldown-cmark-0.8.0.bazel
index 0dacb77..9fd325a 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.pulldown-cmark-0.8.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.pulldown-cmark-0.8.0.bazel
@@ -3,25 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -31,218 +17,102 @@
 
 rust_library(
     name = "pulldown_cmark",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=pulldown-cmark",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.8.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__bitflags-1.3.2//:bitflags",
-            "@crates_vendor__memchr-2.5.0//:memchr",
-            "@crates_vendor__pulldown-cmark-0.8.0//:build_script_build",
-            "@crates_vendor__unicase-2.6.0//:unicase",
-        ],
-    }),
-)
-
-rust_binary(
-    name = "pulldown-cmark__bin",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
+        "@crates_vendor__bitflags-1.3.2//:bitflags",
+        "@crates_vendor__memchr-2.4.1//:memchr",
+        "@crates_vendor__pulldown-cmark-0.8.0//:build_script_build",
+        "@crates_vendor__unicase-2.6.0//:unicase",
     ],
-    crate_root = "src/main.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.8.0",
-    deps = [
-        ":pulldown_cmark",
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__bitflags-1.3.2//:bitflags",
-            "@crates_vendor__memchr-2.5.0//:memchr",
-            "@crates_vendor__pulldown-cmark-0.8.0//:build_script_build",
-            "@crates_vendor__unicase-2.6.0//:unicase",
-        ],
-    }),
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "pulldown-cmark_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=pulldown-cmark",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.8.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "pulldown-cmark_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.15.bazel b/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.15.bazel
new file mode 100644
index 0000000..a0da8e4
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.15.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.15",
+    deps = [
+        "@crates_vendor__proc-macro2-1.0.36//:proc_macro2",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.20.bazel b/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.20.bazel
deleted file mode 100644
index b5e02ff..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.20.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "quote",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.20",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor__quote-1.0.20//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "quote_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.20",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "quote_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.rand-0.8.5.bazel b/examples/crate_universe/vendor_external/crates/BUILD.rand-0.8.5.bazel
index b5ea8c2..3a30f4a 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.rand-0.8.5.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.rand-0.8.5.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,29 +16,17 @@
 
 rust_library(
     name = "rand",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "alloc",
         "default",
@@ -59,70 +37,117 @@
         "std_rng",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=rand",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.8.5",
     deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor__libc-0.2.126//:libc",
-
-            # Common Deps
-            "@crates_vendor__rand_chacha-0.3.1//:rand_chacha",
-            "@crates_vendor__rand_core-0.6.3//:rand_core",
+        "@crates_vendor__rand_chacha-0.3.1//:rand_chacha",
+        "@crates_vendor__rand_core-0.6.3//:rand_core",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
         ],
-        "//conditions:default": [
-            "@crates_vendor__rand_chacha-0.3.1//:rand_chacha",
-            "@crates_vendor__rand_core-0.6.3//:rand_core",
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
         ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor__libc-0.2.119//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
     }),
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.rand_chacha-0.3.1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.rand_chacha-0.3.1.bazel
index 6fa11ed..c9b4248 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.rand_chacha-0.3.1.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.rand_chacha-0.3.1.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,68 +16,67 @@
 
 rust_library(
     name = "rand_chacha",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=rand_chacha",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.3.1",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__ppv-lite86-0.2.16//:ppv_lite86",
-            "@crates_vendor__rand_core-0.6.3//:rand_core",
-        ],
-    }),
+        "@crates_vendor__ppv-lite86-0.2.16//:ppv_lite86",
+        "@crates_vendor__rand_core-0.6.3//:rand_core",
+    ],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.rand_core-0.6.3.bazel b/examples/crate_universe/vendor_external/crates/BUILD.rand_core-0.6.3.bazel
index 9fd0059..8e475f3 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.rand_core-0.6.3.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.rand_core-0.6.3.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,69 +16,68 @@
 
 rust_library(
     name = "rand_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "alloc",
         "getrandom",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=rand_core",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.6.3",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__getrandom-0.2.7//:getrandom",
-        ],
-    }),
+        "@crates_vendor__getrandom-0.2.5//:getrandom",
+    ],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.regex-1.5.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.regex-1.5.4.bazel
new file mode 100644
index 0000000..e684b89
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.regex-1.5.4.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "regex",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+        "unicode",
+        "unicode-age",
+        "unicode-bool",
+        "unicode-case",
+        "unicode-gencat",
+        "unicode-perl",
+        "unicode-script",
+        "unicode-segment",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=regex",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.5.4",
+    deps = [
+        "@crates_vendor__regex-syntax-0.6.25//:regex_syntax",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.regex-1.6.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.regex-1.6.0.bazel
deleted file mode 100644
index 9692032..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.regex-1.6.0.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "regex",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-        "unicode",
-        "unicode-age",
-        "unicode-bool",
-        "unicode-case",
-        "unicode-gencat",
-        "unicode-perl",
-        "unicode-script",
-        "unicode-segment",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.6.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__regex-syntax-0.6.27//:regex_syntax",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.25.bazel b/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.25.bazel
new file mode 100644
index 0000000..8de5bb7
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.25.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "regex_syntax",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "unicode",
+        "unicode-age",
+        "unicode-bool",
+        "unicode-case",
+        "unicode-gencat",
+        "unicode-perl",
+        "unicode-script",
+        "unicode-segment",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=regex-syntax",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.6.25",
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.27.bazel b/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.27.bazel
deleted file mode 100644
index 0f3cccd..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.27.bazel
+++ /dev/null
@@ -1,98 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "regex_syntax",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "unicode",
-        "unicode-age",
-        "unicode-bool",
-        "unicode-case",
-        "unicode-gencat",
-        "unicode-perl",
-        "unicode-script",
-        "unicode-segment",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.6.27",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.12.bazel b/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.12.bazel
deleted file mode 100644
index 577f791..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.12.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "semver",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.12",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__semver-1.0.12//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "semver_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.12",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "semver_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.6.bazel b/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.6.bazel
new file mode 100644
index 0000000..4f9bc03
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.6.bazel
@@ -0,0 +1,123 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "semver",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=semver",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.6",
+    deps = [
+        "@crates_vendor__semver-1.0.6//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "semver_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=semver",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.6",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "semver_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.136.bazel b/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.136.bazel
new file mode 100644
index 0000000..e8f9b4c
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.136.bazel
@@ -0,0 +1,123 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.136",
+    deps = [
+        "@crates_vendor__serde-1.0.136//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.136",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "serde_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.140.bazel b/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.140.bazel
deleted file mode 100644
index 02d0f95..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.140.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.140",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__serde-1.0.140//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "serde_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.140",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "serde_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.strsim-0.10.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.strsim-0.10.0.bazel
index 1d8428a..741eeee 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.strsim-0.10.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.strsim-0.10.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "strsim",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=strsim",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.10.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.10.0",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.86.bazel b/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.86.bazel
new file mode 100644
index 0000000..66b59f8
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.86.bazel
@@ -0,0 +1,138 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.86",
+    deps = [
+        "@crates_vendor__proc-macro2-1.0.36//:proc_macro2",
+        "@crates_vendor__quote-1.0.15//:quote",
+        "@crates_vendor__syn-1.0.86//:build_script_build",
+        "@crates_vendor__unicode-xid-0.2.2//:unicode_xid",
+    ],
+)
+
+cargo_build_script(
+    name = "syn_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.86",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "syn_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.98.bazel b/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.98.bazel
deleted file mode 100644
index da84b64..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.98.bazel
+++ /dev/null
@@ -1,193 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "syn",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.98",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor__quote-1.0.20//:quote",
-            "@crates_vendor__syn-1.0.98//:build_script_build",
-            "@crates_vendor__unicode-ident-1.0.2//:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "syn_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.98",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "syn_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.termcolor-1.1.3.bazel b/examples/crate_universe/vendor_external/crates/BUILD.termcolor-1.1.3.bazel
index 2cc6b7c..f23060f 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.termcolor-1.1.3.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.termcolor-1.1.3.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,75 +16,72 @@
 
 rust_library(
     name = "termcolor",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=termcolor",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "1.1.3",
-    deps = [
-    ] + select_with_or({
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor__winapi-util-0.1.5//:winapi_util",
-
-            # Common Deps
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor__winapi-util-0.1.5//:winapi_util",  # cfg(windows)
         ],
-        "//conditions:default": [
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor__winapi-util-0.1.5//:winapi_util",  # cfg(windows)
         ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor__winapi-util-0.1.5//:winapi_util",  # cfg(windows)
+        ],
+        "//conditions:default": [],
     }),
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.textwrap-0.15.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.textwrap-0.15.0.bazel
index 363cb51..b53d042 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.textwrap-0.15.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.textwrap-0.15.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "textwrap",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=textwrap",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.15.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.15.0",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.5.1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.5.1.bazel
new file mode 100644
index 0000000..8875289
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.5.1.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Zlib OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "tinyvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "tinyvec_macros",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tinyvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.5.1",
+    deps = [
+        "@crates_vendor__tinyvec_macros-0.1.0//:tinyvec_macros",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.6.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.6.0.bazel
deleted file mode 100644
index 9a5c4ee..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.6.0.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Zlib OR Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "tinyvec",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "tinyvec_macros",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.6.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__tinyvec_macros-0.1.0//:tinyvec_macros",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.tinyvec_macros-0.1.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec_macros-0.1.0.bazel
index 65a45c9..5259046 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.tinyvec_macros-0.1.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec_macros-0.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "tinyvec_macros",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tinyvec_macros",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.1.0",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.8.bazel b/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.8.bazel
new file mode 100644
index 0000000..ea5b272
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.8.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "toml",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=toml",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.5.8",
+    deps = [
+        "@crates_vendor__serde-1.0.136//:serde",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.9.bazel b/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.9.bazel
deleted file mode 100644
index e7852a8..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.9.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "toml",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.5.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__serde-1.0.140//:serde",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicase-2.6.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicase-2.6.0.bazel
index 781e1c9..ceef639 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.unicase-2.6.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicase-2.6.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,146 +17,102 @@
 
 rust_library(
     name = "unicase",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=unicase",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "2.6.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__unicase-2.6.0//:build_script_build",
-        ],
-    }),
+        "@crates_vendor__unicase-2.6.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "unicase_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=unicase",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "2.6.0",
     visibility = ["//visibility:private"],
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__version_check-0.9.4//:version_check",
-        ],
-    }),
+        "@crates_vendor__version_check-0.9.4//:version_check",
+    ],
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "unicase_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.7.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.7.bazel
new file mode 100644
index 0000000..572bffb
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.7.bazel
@@ -0,0 +1,79 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT / Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_bidi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-bidi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.7",
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.8.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.8.bazel
deleted file mode 100644
index e42cddd..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.8.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "unicode_bidi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "hardcoded-data",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.8",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-ident-1.0.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-ident-1.0.2.bazel
deleted file mode 100644
index fc8f01b..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.unicode-ident-1.0.2.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
-# ])
-
-rust_library(
-    name = "unicode_ident",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.19.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.19.bazel
new file mode 100644
index 0000000..fbec887
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.19.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_normalization",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-normalization",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.19",
+    deps = [
+        "@crates_vendor__tinyvec-1.5.1//:tinyvec",
+    ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.21.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.21.bazel
deleted file mode 100644
index 8d77583..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.21.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "unicode_normalization",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__tinyvec-1.6.0//:tinyvec",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-xid-0.2.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-xid-0.2.2.bazel
new file mode 100644
index 0000000..5f4f83f
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicode-xid-0.2.2.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_xid",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-xid",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.2",
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.url-2.2.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.url-2.2.2.bazel
index 2ff49a6..4d532da 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.url-2.2.2.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.url-2.2.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,69 +16,66 @@
 
 rust_library(
     name = "url",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=url",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "2.2.2",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__form_urlencoded-1.0.1//:form_urlencoded",
-            "@crates_vendor__idna-0.2.3//:idna",
-            "@crates_vendor__matches-0.1.9//:matches",
-            "@crates_vendor__percent-encoding-2.1.0//:percent_encoding",
-        ],
-    }),
+        "@crates_vendor__form_urlencoded-1.0.1//:form_urlencoded",
+        "@crates_vendor__idna-0.2.3//:idna",
+        "@crates_vendor__matches-0.1.9//:matches",
+        "@crates_vendor__percent-encoding-2.1.0//:percent_encoding",
+    ],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.version-sync-0.9.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.version-sync-0.9.4.bazel
index 1ac26c5..720465e 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.version-sync-0.9.4.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.version-sync-0.9.4.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,29 +16,17 @@
 
 rust_library(
     name = "version_sync",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "contains_regex",
         "default",
@@ -63,46 +41,57 @@
         "url",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=version-sync",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.9.4",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor__pulldown-cmark-0.8.0//:pulldown_cmark",
-            "@crates_vendor__regex-1.6.0//:regex",
-            "@crates_vendor__semver-1.0.12//:semver",
-            "@crates_vendor__syn-1.0.98//:syn",
-            "@crates_vendor__toml-0.5.9//:toml",
-            "@crates_vendor__url-2.2.2//:url",
-        ],
-    }),
+        "@crates_vendor__proc-macro2-1.0.36//:proc_macro2",
+        "@crates_vendor__pulldown-cmark-0.8.0//:pulldown_cmark",
+        "@crates_vendor__regex-1.5.4//:regex",
+        "@crates_vendor__semver-1.0.6//:semver",
+        "@crates_vendor__syn-1.0.86//:syn",
+        "@crates_vendor__toml-0.5.8//:toml",
+        "@crates_vendor__url-2.2.2//:url",
+    ],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.version_check-0.9.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.version_check-0.9.4.bazel
index 26147bc..351cf0b 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.version_check-0.9.4.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.version_check-0.9.4.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "version_check",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=version_check",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.9.4",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.9.4",
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
new file mode 100644
index 0000000..9fc8964
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
@@ -0,0 +1,79 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_external:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "wasi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=wasi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.10.2+wasi-snapshot-preview1",
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
deleted file mode 100644
index 8f4d886..0000000
--- a/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_external:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "wasi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.11.0+wasi-snapshot-preview1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-0.3.9.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-0.3.9.bazel
index ef89ed5..fa5c3b7 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.winapi-0.3.9.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-0.3.9.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,29 +17,17 @@
 
 rust_library(
     name = "winapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "consoleapi",
         "errhandlingapi",
@@ -67,74 +42,58 @@
         "winnt",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.3.9",
     deps = [
-    ] + select_with_or({
-        # i686-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
-        #
-        # x86_64-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
-        #
-        "//conditions:default": [
-            "@crates_vendor__winapi-0.3.9//:build_script_build",
-        ],
-    }),
+        "@crates_vendor__winapi-0.3.9//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
         "consoleapi",
         "errhandlingapi",
@@ -150,57 +109,33 @@
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.3.9",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
index 2ef904e..7484526 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,99 @@
 
 rust_library(
     name = "winapi_i686_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
-        ],
-    }),
+        "@crates_vendor__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-i686-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-i686-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-util-0.1.5.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-util-0.1.5.bazel
index 352af1f..d48ca40 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.winapi-util-0.1.5.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-util-0.1.5.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,75 +16,72 @@
 
 rust_library(
     name = "winapi_util",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-util",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.1.5",
-    deps = [
-    ] + select_with_or({
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor__winapi-0.3.9//:winapi",
-
-            # Common Deps
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor__winapi-0.3.9//:winapi",  # cfg(windows)
         ],
-        "//conditions:default": [
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor__winapi-0.3.9//:winapi",  # cfg(windows)
         ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "//conditions:default": [],
     }),
 )
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
index ba34a01..a605722 100644
--- a/examples/crate_universe/vendor_external/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,99 @@
 
 rust_library(
     name = "winapi_x86_64_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
-        ],
-    }),
+        "@crates_vendor__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-x86_64-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-x86_64-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_external/crates/defs.bzl b/examples/crate_universe/vendor_external/crates/defs.bzl
index ebd2376..7a8e251 100644
--- a/examples/crate_universe/vendor_external/crates/defs.bzl
+++ b/examples/crate_universe/vendor_external/crates/defs.bzl
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_external:crates_vendor
+#     bazel run @//vendor_external:crates_vendor
 ###############################################################################
 """
 # `crates_repository` API
@@ -37,7 +37,7 @@
         # name of the workspace this file is defined in.
         "workspace_member_package": {
 
-            # Not all dependnecies are supported for all platforms.
+            # Not all dependencies are supported for all platforms.
             # the condition key is the condition required to be true
             # on the host platform.
             "condition": {
@@ -153,7 +153,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -202,7 +202,7 @@
 
     crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
     for condition, deps in dependencies.items():
-        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+        crate_deps += selects.with_or({tuple(_CONDITIONS[condition]): deps.values()})
 
     return crate_deps
 
@@ -222,7 +222,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -274,15 +274,16 @@
 
     # Build a single select statement where each conditional has accounted for the
     # common set of aliases.
-    crate_aliases = {"//conditions:default": common_items}
+    crate_aliases = {"//conditions:default": dict(common_items)}
     for condition, deps in aliases.items():
         condition_triples = _CONDITIONS[condition]
-        if condition_triples in crate_aliases:
-            crate_aliases[condition_triples].update(deps)
-        else:
-            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+        for triple in condition_triples:
+            if triple in crate_aliases:
+                crate_aliases[triple].update(deps)
+            else:
+                crate_aliases.update({triple: dict(deps.items() + common_items)})
 
-    return selects.with_or(crate_aliases)
+    return select(crate_aliases)
 
 ###############################################################################
 # WORKSPACE MEMBER DEPS AND ALIASES
@@ -291,7 +292,7 @@
 _NORMAL_DEPENDENCIES = {
     "": {
         _COMMON_CONDITION: {
-            "clap": "@crates_vendor__clap-3.2.14//:clap",
+            "clap": "@crates_vendor__clap-3.1.5//:clap",
             "rand": "@crates_vendor__rand-0.8.5//:rand",
         },
     },
@@ -363,9 +364,9 @@
 
 _CONDITIONS = {
     "cfg(target_os = \"hermit\")": [],
-    "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
-    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"],
+    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "i686-pc-windows-gnu": [],
     "x86_64-pc-windows-gnu": [],
 }
@@ -416,32 +417,22 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__clap-3.2.14",
-        sha256 = "54635806b078b7925d6e36810b1755f2a4b5b4d57560432c1ecf60bcbe10602b",
+        name = "crates_vendor__clap-3.1.5",
+        sha256 = "ced1892c55c910c1219e98d6fc8d71f6bddba7905866ce740066d8bfea859312",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/clap/3.2.14/download"],
-        strip_prefix = "clap-3.2.14",
-        build_file = Label("@examples//vendor_external/crates:BUILD.clap-3.2.14.bazel"),
+        urls = ["https://crates.io/api/v1/crates/clap/3.1.5/download"],
+        strip_prefix = "clap-3.1.5",
+        build_file = Label("@examples//vendor_external/crates:BUILD.clap-3.1.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__clap_derive-3.2.7",
-        sha256 = "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902",
+        name = "crates_vendor__clap_derive-3.1.4",
+        sha256 = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/clap_derive/3.2.7/download"],
-        strip_prefix = "clap_derive-3.2.7",
-        build_file = Label("@examples//vendor_external/crates:BUILD.clap_derive-3.2.7.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crates_vendor__clap_lex-0.2.4",
-        sha256 = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/clap_lex/0.2.4/download"],
-        strip_prefix = "clap_lex-0.2.4",
-        build_file = Label("@examples//vendor_external/crates:BUILD.clap_lex-0.2.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/clap_derive/3.1.4/download"],
+        strip_prefix = "clap_derive-3.1.4",
+        build_file = Label("@examples//vendor_external/crates:BUILD.clap_derive-3.1.4.bazel"),
     )
 
     maybe(
@@ -456,22 +447,22 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__getrandom-0.2.7",
-        sha256 = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6",
+        name = "crates_vendor__getrandom-0.2.5",
+        sha256 = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/getrandom/0.2.7/download"],
-        strip_prefix = "getrandom-0.2.7",
-        build_file = Label("@examples//vendor_external/crates:BUILD.getrandom-0.2.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/getrandom/0.2.5/download"],
+        strip_prefix = "getrandom-0.2.5",
+        build_file = Label("@examples//vendor_external/crates:BUILD.getrandom-0.2.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__hashbrown-0.12.3",
-        sha256 = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888",
+        name = "crates_vendor__hashbrown-0.11.2",
+        sha256 = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/hashbrown/0.12.3/download"],
-        strip_prefix = "hashbrown-0.12.3",
-        build_file = Label("@examples//vendor_external/crates:BUILD.hashbrown-0.12.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/hashbrown/0.11.2/download"],
+        strip_prefix = "hashbrown-0.11.2",
+        build_file = Label("@examples//vendor_external/crates:BUILD.hashbrown-0.11.2.bazel"),
     )
 
     maybe(
@@ -506,22 +497,32 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__indexmap-1.9.1",
-        sha256 = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e",
+        name = "crates_vendor__indexmap-1.8.0",
+        sha256 = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/indexmap/1.9.1/download"],
-        strip_prefix = "indexmap-1.9.1",
-        build_file = Label("@examples//vendor_external/crates:BUILD.indexmap-1.9.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/indexmap/1.8.0/download"],
+        strip_prefix = "indexmap-1.8.0",
+        build_file = Label("@examples//vendor_external/crates:BUILD.indexmap-1.8.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__libc-0.2.126",
-        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+        name = "crates_vendor__lazy_static-1.4.0",
+        sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
-        strip_prefix = "libc-0.2.126",
-        build_file = Label("@examples//vendor_external/crates:BUILD.libc-0.2.126.bazel"),
+        urls = ["https://crates.io/api/v1/crates/lazy_static/1.4.0/download"],
+        strip_prefix = "lazy_static-1.4.0",
+        build_file = Label("@examples//vendor_external/crates:BUILD.lazy_static-1.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor__libc-0.2.119",
+        sha256 = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.119/download"],
+        strip_prefix = "libc-0.2.119",
+        build_file = Label("@examples//vendor_external/crates:BUILD.libc-0.2.119.bazel"),
     )
 
     maybe(
@@ -536,32 +537,22 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__memchr-2.5.0",
-        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
+        name = "crates_vendor__memchr-2.4.1",
+        sha256 = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
-        strip_prefix = "memchr-2.5.0",
-        build_file = Label("@examples//vendor_external/crates:BUILD.memchr-2.5.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/memchr/2.4.1/download"],
+        strip_prefix = "memchr-2.4.1",
+        build_file = Label("@examples//vendor_external/crates:BUILD.memchr-2.4.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__once_cell-1.13.0",
-        sha256 = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1",
+        name = "crates_vendor__os_str_bytes-6.0.0",
+        sha256 = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/once_cell/1.13.0/download"],
-        strip_prefix = "once_cell-1.13.0",
-        build_file = Label("@examples//vendor_external/crates:BUILD.once_cell-1.13.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crates_vendor__os_str_bytes-6.2.0",
-        sha256 = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/os_str_bytes/6.2.0/download"],
-        strip_prefix = "os_str_bytes-6.2.0",
-        build_file = Label("@examples//vendor_external/crates:BUILD.os_str_bytes-6.2.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/os_str_bytes/6.0.0/download"],
+        strip_prefix = "os_str_bytes-6.0.0",
+        build_file = Label("@examples//vendor_external/crates:BUILD.os_str_bytes-6.0.0.bazel"),
     )
 
     maybe(
@@ -606,12 +597,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__proc-macro2-1.0.40",
-        sha256 = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7",
+        name = "crates_vendor__proc-macro2-1.0.36",
+        sha256 = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.40/download"],
-        strip_prefix = "proc-macro2-1.0.40",
-        build_file = Label("@examples//vendor_external/crates:BUILD.proc-macro2-1.0.40.bazel"),
+        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.36/download"],
+        strip_prefix = "proc-macro2-1.0.36",
+        build_file = Label("@examples//vendor_external/crates:BUILD.proc-macro2-1.0.36.bazel"),
     )
 
     maybe(
@@ -626,12 +617,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__quote-1.0.20",
-        sha256 = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804",
+        name = "crates_vendor__quote-1.0.15",
+        sha256 = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/quote/1.0.20/download"],
-        strip_prefix = "quote-1.0.20",
-        build_file = Label("@examples//vendor_external/crates:BUILD.quote-1.0.20.bazel"),
+        urls = ["https://crates.io/api/v1/crates/quote/1.0.15/download"],
+        strip_prefix = "quote-1.0.15",
+        build_file = Label("@examples//vendor_external/crates:BUILD.quote-1.0.15.bazel"),
     )
 
     maybe(
@@ -666,42 +657,42 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__regex-1.6.0",
-        sha256 = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b",
+        name = "crates_vendor__regex-1.5.4",
+        sha256 = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/regex/1.6.0/download"],
-        strip_prefix = "regex-1.6.0",
-        build_file = Label("@examples//vendor_external/crates:BUILD.regex-1.6.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/regex/1.5.4/download"],
+        strip_prefix = "regex-1.5.4",
+        build_file = Label("@examples//vendor_external/crates:BUILD.regex-1.5.4.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__regex-syntax-0.6.27",
-        sha256 = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244",
+        name = "crates_vendor__regex-syntax-0.6.25",
+        sha256 = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.6.27/download"],
-        strip_prefix = "regex-syntax-0.6.27",
-        build_file = Label("@examples//vendor_external/crates:BUILD.regex-syntax-0.6.27.bazel"),
+        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.6.25/download"],
+        strip_prefix = "regex-syntax-0.6.25",
+        build_file = Label("@examples//vendor_external/crates:BUILD.regex-syntax-0.6.25.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__semver-1.0.12",
-        sha256 = "a2333e6df6d6598f2b1974829f853c2b4c5f4a6e503c10af918081aa6f8564e1",
+        name = "crates_vendor__semver-1.0.6",
+        sha256 = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/semver/1.0.12/download"],
-        strip_prefix = "semver-1.0.12",
-        build_file = Label("@examples//vendor_external/crates:BUILD.semver-1.0.12.bazel"),
+        urls = ["https://crates.io/api/v1/crates/semver/1.0.6/download"],
+        strip_prefix = "semver-1.0.6",
+        build_file = Label("@examples//vendor_external/crates:BUILD.semver-1.0.6.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__serde-1.0.140",
-        sha256 = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03",
+        name = "crates_vendor__serde-1.0.136",
+        sha256 = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde/1.0.140/download"],
-        strip_prefix = "serde-1.0.140",
-        build_file = Label("@examples//vendor_external/crates:BUILD.serde-1.0.140.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde/1.0.136/download"],
+        strip_prefix = "serde-1.0.136",
+        build_file = Label("@examples//vendor_external/crates:BUILD.serde-1.0.136.bazel"),
     )
 
     maybe(
@@ -716,12 +707,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__syn-1.0.98",
-        sha256 = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd",
+        name = "crates_vendor__syn-1.0.86",
+        sha256 = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/syn/1.0.98/download"],
-        strip_prefix = "syn-1.0.98",
-        build_file = Label("@examples//vendor_external/crates:BUILD.syn-1.0.98.bazel"),
+        urls = ["https://crates.io/api/v1/crates/syn/1.0.86/download"],
+        strip_prefix = "syn-1.0.86",
+        build_file = Label("@examples//vendor_external/crates:BUILD.syn-1.0.86.bazel"),
     )
 
     maybe(
@@ -746,12 +737,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__tinyvec-1.6.0",
-        sha256 = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50",
+        name = "crates_vendor__tinyvec-1.5.1",
+        sha256 = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tinyvec/1.6.0/download"],
-        strip_prefix = "tinyvec-1.6.0",
-        build_file = Label("@examples//vendor_external/crates:BUILD.tinyvec-1.6.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tinyvec/1.5.1/download"],
+        strip_prefix = "tinyvec-1.5.1",
+        build_file = Label("@examples//vendor_external/crates:BUILD.tinyvec-1.5.1.bazel"),
     )
 
     maybe(
@@ -766,12 +757,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__toml-0.5.9",
-        sha256 = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7",
+        name = "crates_vendor__toml-0.5.8",
+        sha256 = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/toml/0.5.9/download"],
-        strip_prefix = "toml-0.5.9",
-        build_file = Label("@examples//vendor_external/crates:BUILD.toml-0.5.9.bazel"),
+        urls = ["https://crates.io/api/v1/crates/toml/0.5.8/download"],
+        strip_prefix = "toml-0.5.8",
+        build_file = Label("@examples//vendor_external/crates:BUILD.toml-0.5.8.bazel"),
     )
 
     maybe(
@@ -786,32 +777,32 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__unicode-bidi-0.3.8",
-        sha256 = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992",
+        name = "crates_vendor__unicode-bidi-0.3.7",
+        sha256 = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download"],
-        strip_prefix = "unicode-bidi-0.3.8",
-        build_file = Label("@examples//vendor_external/crates:BUILD.unicode-bidi-0.3.8.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-bidi/0.3.7/download"],
+        strip_prefix = "unicode-bidi-0.3.7",
+        build_file = Label("@examples//vendor_external/crates:BUILD.unicode-bidi-0.3.7.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__unicode-ident-1.0.2",
-        sha256 = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7",
+        name = "crates_vendor__unicode-normalization-0.1.19",
+        sha256 = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.2/download"],
-        strip_prefix = "unicode-ident-1.0.2",
-        build_file = Label("@examples//vendor_external/crates:BUILD.unicode-ident-1.0.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.19/download"],
+        strip_prefix = "unicode-normalization-0.1.19",
+        build_file = Label("@examples//vendor_external/crates:BUILD.unicode-normalization-0.1.19.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor__unicode-normalization-0.1.21",
-        sha256 = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6",
+        name = "crates_vendor__unicode-xid-0.2.2",
+        sha256 = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.21/download"],
-        strip_prefix = "unicode-normalization-0.1.21",
-        build_file = Label("@examples//vendor_external/crates:BUILD.unicode-normalization-0.1.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-xid/0.2.2/download"],
+        strip_prefix = "unicode-xid-0.2.2",
+        build_file = Label("@examples//vendor_external/crates:BUILD.unicode-xid-0.2.2.bazel"),
     )
 
     maybe(
@@ -846,12 +837,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor__wasi-0.11.0-wasi-snapshot-preview1",
-        sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
+        name = "crates_vendor__wasi-0.10.2-wasi-snapshot-preview1",
+        sha256 = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
-        strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1",
-        build_file = Label("@examples//vendor_external/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/wasi/0.10.2+wasi-snapshot-preview1/download"],
+        strip_prefix = "wasi-0.10.2+wasi-snapshot-preview1",
+        build_file = Label("@examples//vendor_external/crates:BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel"),
     )
 
     maybe(
diff --git a/examples/crate_universe/vendor_local_manifests/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/BUILD.bazel
index 19fef1d..f9f1665 100644
--- a/examples/crate_universe/vendor_local_manifests/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/BUILD.bazel
@@ -14,6 +14,11 @@
     aliases = aliases(),
     edition = "2018",
     proc_macro_deps = all_crate_deps(proc_macro = True),
+    # TODO: https://github.com/bazelbuild/rules_rust/issues/1860
+    target_compatible_with = select({
+        "@platforms//os:windows": ["@platforms//:incompatible"],
+        "//conditions:default": [],
+    }),
     deps = all_crate_deps(normal = True),
 )
 
@@ -21,5 +26,10 @@
     name = "unit_test",
     crate = ":cargo_local",
     proc_macro_deps = all_crate_deps(proc_macro_dev = True),
+    # TODO: https://github.com/bazelbuild/rules_rust/issues/1860
+    target_compatible_with = select({
+        "@platforms//os:windows": ["@platforms//:incompatible"],
+        "//conditions:default": [],
+    }),
     deps = all_crate_deps(normal_dev = True),
 )
diff --git a/examples/crate_universe/vendor_local_manifests/Cargo.toml b/examples/crate_universe/vendor_local_manifests/Cargo.toml
index b798bfd..a9e613a 100644
--- a/examples/crate_universe/vendor_local_manifests/Cargo.toml
+++ b/examples/crate_universe/vendor_local_manifests/Cargo.toml
@@ -5,9 +5,7 @@
 edition = "2018"
 
 [dependencies]
-# TODO: For some reason this fails only for locally vendored crates
-# https://github.com/abrisco/cargo-bazel/issues/173
-tokio = { version = "=1.16.1", features = ["full"] }
+tokio = { version = "1.26.0", features = ["full"] }
 
 [dev-dependencies]
 tempfile = "3.2.0"
diff --git a/examples/crate_universe/vendor_local_manifests/crates/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/BUILD.bazel
index bd5ce66..8d08a89 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/BUILD.bazel
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -12,9 +12,7 @@
     [
         "cargo-bazel.json",
         "defs.bzl",
-    ] + glob([
-        "*.bazel",
-    ]),
+    ] + glob(["*.bazel"]),
 )
 
 filegroup(
@@ -28,13 +26,13 @@
 # Workspace Member Dependencies
 alias(
     name = "tempfile",
-    actual = "//vendor_local_manifests/crates/tempfile-3.3.0:tempfile",
+    actual = "//vendor_local_manifests/crates/tempfile-3.6.0:tempfile",
     tags = ["manual"],
 )
 
 alias(
     name = "tokio",
-    actual = "//vendor_local_manifests/crates/tokio-1.16.1:tokio",
+    actual = "//vendor_local_manifests/crates/tokio-1.28.2:tokio",
     tags = ["manual"],
 )
 
@@ -43,5 +41,3 @@
     actual = "//vendor_local_manifests/crates/tokio-test-0.4.2:tokio_test",
     tags = ["manual"],
 )
-
-# Binaries
diff --git a/examples/crate_universe/vendor_local_manifests/crates/async-stream-0.3.3/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/async-stream-0.3.3/BUILD.bazel
deleted file mode 100644
index 23dc4b0..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/async-stream-0.3.3/BUILD.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "async_stream",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/async-stream-impl-0.3.3:async_stream_impl",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/futures-core-0.3.21:futures_core",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/async-stream-0.3.5/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/async-stream-0.3.5/BUILD.bazel
new file mode 100644
index 0000000..66f2c49
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/async-stream-0.3.5/BUILD.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "async_stream",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "//vendor_local_manifests/crates/async-stream-impl-0.3.5:async_stream_impl",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-stream",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.5",
+    deps = [
+        "//vendor_local_manifests/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_manifests/crates/pin-project-lite-0.2.9:pin_project_lite",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/async-stream-impl-0.3.3/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/async-stream-impl-0.3.3/BUILD.bazel
deleted file mode 100644
index 22e284c..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/async-stream-impl-0.3.3/BUILD.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "async_stream_impl",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_manifests/crates/quote-1.0.20:quote",
-            "//vendor_local_manifests/crates/syn-1.0.98:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/async-stream-impl-0.3.5/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/async-stream-impl-0.3.5/BUILD.bazel
new file mode 100644
index 0000000..d4e4dd7
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/async-stream-impl-0.3.5/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "async_stream_impl",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-stream-impl",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.5",
+    deps = [
+        "//vendor_local_manifests/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_manifests/crates/quote-1.0.28:quote",
+        "//vendor_local_manifests/crates/syn-2.0.18:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/autocfg-1.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/autocfg-1.1.0/BUILD.bazel
index 7a36c81..f0d2b72 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/autocfg-1.1.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/autocfg-1.1.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "autocfg",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=autocfg",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.1.0",
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/bitflags-1.3.2/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/bitflags-1.3.2/BUILD.bazel
index 428808b..7194125 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/bitflags-1.3.2/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/bitflags-1.3.2/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "bitflags",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=bitflags",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.3.2",
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/bytes-1.2.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/bytes-1.2.0/BUILD.bazel
deleted file mode 100644
index fc8c4f8..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/bytes-1.2.0/BUILD.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "bytes",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.2.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/bytes-1.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/bytes-1.4.0/BUILD.bazel
new file mode 100644
index 0000000..5365880
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/bytes-1.4.0/BUILD.bazel
@@ -0,0 +1,79 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bytes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/cc-1.0.79/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/cc-1.0.79/BUILD.bazel
new file mode 100644
index 0000000..886cd3a
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/cc-1.0.79/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "cc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.79",
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/cfg-if-1.0.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/cfg-if-1.0.0/BUILD.bazel
index 5e2242a..eb8402a 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/cfg-if-1.0.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/cfg-if-1.0.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "cfg_if",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=cfg-if",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.0.0",
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/defs.bzl b/examples/crate_universe/vendor_local_manifests/crates/defs.bzl
index ae3a6ce..655aded 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/defs.bzl
+++ b/examples/crate_universe/vendor_local_manifests/crates/defs.bzl
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 """
 # `crates_repository` API
@@ -35,7 +35,7 @@
         # name of the workspace this file is defined in.
         "workspace_member_package": {
 
-            # Not all dependnecies are supported for all platforms.
+            # Not all dependencies are supported for all platforms.
             # the condition key is the condition required to be true
             # on the host platform.
             "condition": {
@@ -151,7 +151,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -200,7 +200,7 @@
 
     crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
     for condition, deps in dependencies.items():
-        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+        crate_deps += selects.with_or({tuple(_CONDITIONS[condition]): deps.values()})
 
     return crate_deps
 
@@ -220,7 +220,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -272,15 +272,16 @@
 
     # Build a single select statement where each conditional has accounted for the
     # common set of aliases.
-    crate_aliases = {"//conditions:default": common_items}
+    crate_aliases = {"//conditions:default": dict(common_items)}
     for condition, deps in aliases.items():
         condition_triples = _CONDITIONS[condition]
-        if condition_triples in crate_aliases:
-            crate_aliases[condition_triples].update(deps)
-        else:
-            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+        for triple in condition_triples:
+            if triple in crate_aliases:
+                crate_aliases[triple].update(deps)
+            else:
+                crate_aliases.update({triple: dict(deps.items() + common_items)})
 
-    return selects.with_or(crate_aliases)
+    return select(crate_aliases)
 
 ###############################################################################
 # WORKSPACE MEMBER DEPS AND ALIASES
@@ -289,7 +290,7 @@
 _NORMAL_DEPENDENCIES = {
     "vendor_local_manifests": {
         _COMMON_CONDITION: {
-            "tokio": "//vendor_local_manifests/crates/tokio-1.16.1:tokio",
+            "tokio": "//vendor_local_manifests/crates/tokio-1.28.2:tokio",
         },
     },
 }
@@ -304,7 +305,7 @@
 _NORMAL_DEV_DEPENDENCIES = {
     "vendor_local_manifests": {
         _COMMON_CONDITION: {
-            "tempfile": "//vendor_local_manifests/crates/tempfile-3.3.0:tempfile",
+            "tempfile": "//vendor_local_manifests/crates/tempfile-3.6.0:tempfile",
             "tokio-test": "//vendor_local_manifests/crates/tokio-test-0.4.2:tokio_test",
         },
     },
@@ -361,12 +362,27 @@
 
 _CONDITIONS = {
     "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
-    "cfg(any(unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(target_arch = \"wasm32\")": ["wasm32-unknown-unknown", "wasm32-wasi"],
+    "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android"],
+    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
+    "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": ["@rules_rust//rust/platform:wasm32-unknown-unknown"],
+    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
+    "cfg(any(unix, target_os = \"wasi\"))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(target_os = \"dragonfly\")": [],
+    "cfg(target_os = \"hermit\")": [],
     "cfg(target_os = \"redox\")": [],
-    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"],
+    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "i686-pc-windows-gnu": [],
     "x86_64-pc-windows-gnu": [],
 }
diff --git a/examples/crate_universe/vendor_local_manifests/crates/errno-0.3.1/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/errno-0.3.1/BUILD.bazel
new file mode 100644
index 0000000..55971b4
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/errno-0.3.1/BUILD.bazel
@@ -0,0 +1,153 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "errno",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.1",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/errno-dragonfly-0.1.2/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/errno-dragonfly-0.1.2/BUILD.bazel
new file mode 100644
index 0000000..9c55ae0
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/errno-dragonfly-0.1.2/BUILD.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "errno_dragonfly",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno-dragonfly",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.2",
+    deps = [
+        "//vendor_local_manifests/crates/errno-dragonfly-0.1.2:build_script_build",
+        "//vendor_local_manifests/crates/libc-0.2.146:libc",
+    ],
+)
+
+cargo_build_script(
+    name = "errno-dragonfly_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno-dragonfly",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_manifests/crates/cc-1.0.79:cc",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "errno-dragonfly_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/fastrand-1.7.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/fastrand-1.7.0/BUILD.bazel
deleted file mode 100644
index 588744b..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/fastrand-1.7.0/BUILD.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "fastrand",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.7.0",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_arch = "wasm32")
-        (
-            "@rules_rust//rust/platform:wasm32-unknown-unknown",
-            "@rules_rust//rust/platform:wasm32-wasi",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/instant-0.1.12:instant",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/fastrand-1.9.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/fastrand-1.9.0/BUILD.bazel
new file mode 100644
index 0000000..5a8e223
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/fastrand-1.9.0/BUILD.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "fastrand",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=fastrand",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.9.0",
+    deps = select({
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "//vendor_local_manifests/crates/instant-0.1.12:instant",  # cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/futures-core-0.3.21/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/futures-core-0.3.21/BUILD.bazel
deleted file mode 100644
index 2c06ef8..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/futures-core-0.3.21/BUILD.bazel
+++ /dev/null
@@ -1,180 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/futures-core-0.3.21:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/futures-core-0.3.28/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/futures-core-0.3.28/BUILD.bazel
new file mode 100644
index 0000000..e76aae3
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/futures-core-0.3.28/BUILD.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.28",
+    deps = [
+        "//vendor_local_manifests/crates/futures-core-0.3.28:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.1.19/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.1.19/BUILD.bazel
deleted file mode 100644
index 5202106..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.1.19/BUILD.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "hermit_abi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.19",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/libc-0.2.126:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.2.6/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.2.6/BUILD.bazel
new file mode 100644
index 0000000..e95d524
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.2.6/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.6",
+    deps = [
+        "//vendor_local_manifests/crates/libc-0.2.146:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.3.1/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.3.1/BUILD.bazel
new file mode 100644
index 0000000..71e929d
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/hermit-abi-0.3.1/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.1",
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/instant-0.1.12/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/instant-0.1.12/BUILD.bazel
index d38861b..82cfbd7 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/instant-0.1.12/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/instant-0.1.12/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "instant",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=instant",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.1.12",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-        ],
-    }),
+        "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/io-lifetimes-1.0.11/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/io-lifetimes-1.0.11/BUILD.bazel
new file mode 100644
index 0000000..0d8830e
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/io-lifetimes-1.0.11/BUILD.bazel
@@ -0,0 +1,222 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "io_lifetimes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "close",
+        "hermit-abi",
+        "libc",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=io-lifetimes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.11",
+    deps = [
+        "//vendor_local_manifests/crates/io-lifetimes-1.0.11:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "io-lifetimes_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "close",
+        "hermit-abi",
+        "libc",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=io-lifetimes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.11",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "io-lifetimes_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/libc-0.2.126/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/libc-0.2.126/BUILD.bazel
deleted file mode 100644
index d926423..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/libc-0.2.126/BUILD.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.126",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/libc-0.2.126:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "libc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.2.126",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "libc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/libc-0.2.146/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/libc-0.2.146/BUILD.bazel
new file mode 100644
index 0000000..60317a8
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/libc-0.2.146/BUILD.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "extra_traits",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.146",
+    deps = [
+        "//vendor_local_manifests/crates/libc-0.2.146:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "extra_traits",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.146",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/linux-raw-sys-0.3.8/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/linux-raw-sys-0.3.8/BUILD.bazel
new file mode 100644
index 0000000..e887352
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/linux-raw-sys-0.3.8/BUILD.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "linux_raw_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "errno",
+        "general",
+        "ioctl",
+        "no_std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=linux-raw-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.8",
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/lock_api-0.4.10/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/lock_api-0.4.10/BUILD.bazel
new file mode 100644
index 0000000..4ad06ef
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/lock_api-0.4.10/BUILD.bazel
@@ -0,0 +1,127 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.10",
+    deps = [
+        "//vendor_local_manifests/crates/lock_api-0.4.10:build_script_build",
+        "//vendor_local_manifests/crates/scopeguard-1.1.0:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "lock_api_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.10",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_manifests/crates/autocfg-1.1.0:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "lock_api_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/lock_api-0.4.7/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/lock_api-0.4.7/BUILD.bazel
deleted file mode 100644
index 5e879e6..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/lock_api-0.4.7/BUILD.bazel
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "lock_api",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/lock_api-0.4.7:build_script_build",
-            "//vendor_local_manifests/crates/scopeguard-1.1.0:scopeguard",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "lock_api_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/autocfg-1.1.0:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "lock_api_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/log-0.4.17/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/log-0.4.17/BUILD.bazel
deleted file mode 100644
index 20c2039..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/log-0.4.17/BUILD.bazel
+++ /dev/null
@@ -1,175 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "log",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.17",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_manifests/crates/log-0.4.17:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "log_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.17",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "log_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/memchr-2.5.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/memchr-2.5.0/BUILD.bazel
deleted file mode 100644
index 7f98d44..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/memchr-2.5.0/BUILD.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
-rust_library(
-    name = "memchr",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.5.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/memchr-2.5.0:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "memchr_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "2.5.0",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "memchr_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/mio-0.7.14/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/mio-0.7.14/BUILD.bazel
deleted file mode 100644
index 7ccd2ab..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/mio-0.7.14/BUILD.bazel
+++ /dev/null
@@ -1,140 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "mio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "net",
-        "os-ext",
-        "os-poll",
-        "os-util",
-        "tcp",
-        "udp",
-        "uds",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.7.14",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/libc-0.2.126:libc",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/log-0.4.17:log",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/miow-0.3.7:miow",
-            "//vendor_local_manifests/crates/ntapi-0.3.7:ntapi",
-            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/log-0.4.17:log",
-        ],
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/log-0.4.17:log",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/mio-0.8.8/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/mio-0.8.8/BUILD.bazel
new file mode 100644
index 0000000..4d828bc
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/mio-0.8.8/BUILD.bazel
@@ -0,0 +1,159 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "net",
+        "os-ext",
+        "os-poll",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.8",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(target_os = "wasi")
+            "//vendor_local_manifests/crates/wasi-0.11.0-wasi-snapshot-preview1:wasi",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/miow-0.3.7/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/miow-0.3.7/BUILD.bazel
deleted file mode 100644
index d37d84c..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/miow-0.3.7/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "miow",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/ntapi-0.3.7/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/ntapi-0.3.7/BUILD.bazel
deleted file mode 100644
index a0c0dce..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/ntapi-0.3.7/BUILD.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "ntapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "user",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/ntapi-0.3.7:build_script_build",
-            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "ntapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "user",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "ntapi_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/num_cpus-1.13.1/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/num_cpus-1.13.1/BUILD.bazel
deleted file mode 100644
index fd589b4..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/num_cpus-1.13.1/BUILD.bazel
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "num_cpus",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))
-        #
-        # No supported platform triples for cfg: 'cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))'
-        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
-        #
-        # cfg(not(windows))
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:riscv32imc-unknown-none-elf",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:wasm32-unknown-unknown",
-            "@rules_rust//rust/platform:wasm32-wasi",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/libc-0.2.126:libc",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/num_cpus-1.15.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/num_cpus-1.15.0/BUILD.bazel
new file mode 100644
index 0000000..f5c63d0
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/num_cpus-1.15.0/BUILD.bazel
@@ -0,0 +1,162 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=num_cpus",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.15.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/once_cell-1.13.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/once_cell-1.13.0/BUILD.bazel
deleted file mode 100644
index 54e83c0..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/once_cell-1.13.0/BUILD.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "once_cell",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/parking_lot-0.11.2/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/parking_lot-0.11.2/BUILD.bazel
deleted file mode 100644
index 217c60e..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/parking_lot-0.11.2/BUILD.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "parking_lot",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.11.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/instant-0.1.12:instant",
-            "//vendor_local_manifests/crates/lock_api-0.4.7:lock_api",
-            "//vendor_local_manifests/crates/parking_lot_core-0.8.5:parking_lot_core",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/parking_lot-0.12.1/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/parking_lot-0.12.1/BUILD.bazel
new file mode 100644
index 0000000..5b9ae01
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/parking_lot-0.12.1/BUILD.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.12.1",
+    deps = [
+        "//vendor_local_manifests/crates/lock_api-0.4.10:lock_api",
+        "//vendor_local_manifests/crates/parking_lot_core-0.9.8:parking_lot_core",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/parking_lot_core-0.8.5/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/parking_lot_core-0.8.5/BUILD.bazel
deleted file mode 100644
index 1a24f6c..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/parking_lot_core-0.8.5/BUILD.bazel
+++ /dev/null
@@ -1,227 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "parking_lot_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.8.5",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "redox")
-        #
-        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
-        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
-        #
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/libc-0.2.126:libc",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_manifests/crates/instant-0.1.12:instant",
-            "//vendor_local_manifests/crates/parking_lot_core-0.8.5:build_script_build",
-            "//vendor_local_manifests/crates/smallvec-1.9.0:smallvec",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_manifests/crates/instant-0.1.12:instant",
-            "//vendor_local_manifests/crates/parking_lot_core-0.8.5:build_script_build",
-            "//vendor_local_manifests/crates/smallvec-1.9.0:smallvec",
-        ],
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_manifests/crates/instant-0.1.12:instant",
-            "//vendor_local_manifests/crates/parking_lot_core-0.8.5:build_script_build",
-            "//vendor_local_manifests/crates/smallvec-1.9.0:smallvec",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "parking_lot_core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.8.5",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "parking_lot_core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/parking_lot_core-0.9.8/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/parking_lot_core-0.9.8/BUILD.bazel
new file mode 100644
index 0000000..994a22e
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/parking_lot_core-0.9.8/BUILD.bazel
@@ -0,0 +1,191 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.9.8",
+    deps = [
+        "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
+        "//vendor_local_manifests/crates/parking_lot_core-0.9.8:build_script_build",
+        "//vendor_local_manifests/crates/smallvec-1.10.0:smallvec",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-targets-0.48.0:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-targets-0.48.0:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-targets-0.48.0:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "parking_lot_core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.8",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "parking_lot_core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/pin-project-lite-0.2.9/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/pin-project-lite-0.2.9/BUILD.bazel
index 6d3b20a..83ed930 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/pin-project-lite-0.2.9/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/pin-project-lite-0.2.9/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "pin_project_lite",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=pin-project-lite",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.2.9",
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/proc-macro2-1.0.40/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/proc-macro2-1.0.40/BUILD.bazel
deleted file mode 100644
index 56fab87..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/proc-macro2-1.0.40/BUILD.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "proc_macro2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.40",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/proc-macro2-1.0.40:build_script_build",
-            "//vendor_local_manifests/crates/unicode-ident-1.0.2:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "proc-macro2_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.40",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "proc-macro2_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/proc-macro2-1.0.60/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/proc-macro2-1.0.60/BUILD.bazel
new file mode 100644
index 0000000..4b153f1
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/proc-macro2-1.0.60/BUILD.bazel
@@ -0,0 +1,124 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.60",
+    deps = [
+        "//vendor_local_manifests/crates/proc-macro2-1.0.60:build_script_build",
+        "//vendor_local_manifests/crates/unicode-ident-1.0.9:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "proc-macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.60",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/quote-1.0.20/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/quote-1.0.20/BUILD.bazel
deleted file mode 100644
index 3ec4a4f..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/quote-1.0.20/BUILD.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "quote",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.20",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_manifests/crates/quote-1.0.20:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "quote_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.20",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "quote_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/quote-1.0.28/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/quote-1.0.28/BUILD.bazel
new file mode 100644
index 0000000..c51792b
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/quote-1.0.28/BUILD.bazel
@@ -0,0 +1,124 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.28",
+    deps = [
+        "//vendor_local_manifests/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_manifests/crates/quote-1.0.28:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "quote_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "quote_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/redox_syscall-0.2.13/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/redox_syscall-0.2.13/BUILD.bazel
deleted file mode 100644
index 8dbb510..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/redox_syscall-0.2.13/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "syscall",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.13",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/bitflags-1.3.2:bitflags",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/redox_syscall-0.3.5/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/redox_syscall-0.3.5/BUILD.bazel
new file mode 100644
index 0000000..c16da0a
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/redox_syscall-0.3.5/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.5",
+    deps = [
+        "//vendor_local_manifests/crates/bitflags-1.3.2:bitflags",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/remove_dir_all-0.5.3/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/remove_dir_all-0.5.3/BUILD.bazel
deleted file mode 100644
index ab7cae8..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/remove_dir_all-0.5.3/BUILD.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "remove_dir_all",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.5.3",
-    deps = [
-    ] + select_with_or({
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/rustix-0.37.20/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/rustix-0.37.20/BUILD.bazel
new file mode 100644
index 0000000..760aadc
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/rustix-0.37.20/BUILD.bazel
@@ -0,0 +1,346 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "rustix",
+    srcs = glob(["**/*.rs"]),
+    aliases = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-fuchsia": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-linux-android": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:armv7-linux-androideabi": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:i686-apple-darwin": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:i686-linux-android": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:i686-unknown-freebsd": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:wasm32-wasi": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-darwin": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-ios": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-fuchsia": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-linux-android": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-unknown-none": {
+            "//vendor_local_manifests/crates/errno-0.3.1:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "//conditions:default": {},
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "fs",
+        "io-lifetimes",
+        "libc",
+        "std",
+        "use-libc-auxv",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.37.20",
+    deps = [
+        "//vendor_local_manifests/crates/bitflags-1.3.2:bitflags",
+        "//vendor_local_manifests/crates/io-lifetimes-1.0.11:io_lifetimes",
+        "//vendor_local_manifests/crates/rustix-0.37.20:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(windows)
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(windows)
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(windows)
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "//vendor_local_manifests/crates/linux-raw-sys-0.3.8:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "//vendor_local_manifests/crates/errno-0.3.1:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "rustix_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "fs",
+        "io-lifetimes",
+        "libc",
+        "std",
+        "use-libc-auxv",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.37.20",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "rustix_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/scopeguard-1.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/scopeguard-1.1.0/BUILD.bazel
index 67199bd..b5ffcfc 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/scopeguard-1.1.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/scopeguard-1.1.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "scopeguard",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=scopeguard",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.1.0",
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/signal-hook-registry-1.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/signal-hook-registry-1.4.0/BUILD.bazel
deleted file mode 100644
index dc20563..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/signal-hook-registry-1.4.0/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "signal_hook_registry",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.4.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/libc-0.2.126:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/signal-hook-registry-1.4.1/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/signal-hook-registry-1.4.1/BUILD.bazel
new file mode 100644
index 0000000..7fadf25
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/signal-hook-registry-1.4.1/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "signal_hook_registry",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=signal-hook-registry",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.4.1",
+    deps = [
+        "//vendor_local_manifests/crates/libc-0.2.146:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/smallvec-1.10.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/smallvec-1.10.0/BUILD.bazel
new file mode 100644
index 0000000..a417f18
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/smallvec-1.10.0/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "smallvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=smallvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.10.0",
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/smallvec-1.9.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/smallvec-1.9.0/BUILD.bazel
deleted file mode 100644
index 3b63877..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/smallvec-1.9.0/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "smallvec",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.9.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/socket2-0.4.9/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/socket2-0.4.9/BUILD.bazel
new file mode 100644
index 0000000..4070454
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/socket2-0.4.9/BUILD.bazel
@@ -0,0 +1,153 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "socket2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "all",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=socket2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.9",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/syn-1.0.98/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/syn-1.0.98/BUILD.bazel
deleted file mode 100644
index 986b758..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/syn-1.0.98/BUILD.bazel
+++ /dev/null
@@ -1,195 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "syn",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit-mut",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.98",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_manifests/crates/quote-1.0.20:quote",
-            "//vendor_local_manifests/crates/syn-1.0.98:build_script_build",
-            "//vendor_local_manifests/crates/unicode-ident-1.0.2:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "syn_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit-mut",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.98",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "syn_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/syn-2.0.18/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/syn-2.0.18/BUILD.bazel
new file mode 100644
index 0000000..7267d32
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/syn-2.0.18/BUILD.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.0.18",
+    deps = [
+        "//vendor_local_manifests/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_manifests/crates/quote-1.0.28:quote",
+        "//vendor_local_manifests/crates/unicode-ident-1.0.9:unicode_ident",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tempfile-3.3.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tempfile-3.3.0/BUILD.bazel
deleted file mode 100644
index 977cea2..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/tempfile-3.3.0/BUILD.bazel
+++ /dev/null
@@ -1,142 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "tempfile",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "3.3.0",
-    deps = [
-    ] + select_with_or({
-        # cfg(any(unix, target_os = "wasi"))
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:wasm32-wasi",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/libc-0.2.126:libc",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_manifests/crates/fastrand-1.7.0:fastrand",
-            "//vendor_local_manifests/crates/remove_dir_all-0.5.3:remove_dir_all",
-        ],
-        # cfg(target_os = "redox")
-        #
-        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
-        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
-        #
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_manifests/crates/fastrand-1.7.0:fastrand",
-            "//vendor_local_manifests/crates/remove_dir_all-0.5.3:remove_dir_all",
-        ],
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_manifests/crates/fastrand-1.7.0:fastrand",
-            "//vendor_local_manifests/crates/remove_dir_all-0.5.3:remove_dir_all",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tempfile-3.6.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tempfile-3.6.0/BUILD.bazel
new file mode 100644
index 0000000..de0d4e6
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/tempfile-3.6.0/BUILD.bazel
@@ -0,0 +1,197 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "tempfile",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tempfile",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "3.6.0",
+    deps = [
+        "//vendor_local_manifests/crates/cfg-if-1.0.0:cfg_if",
+        "//vendor_local_manifests/crates/fastrand-1.9.0:fastrand",
+        "//vendor_local_manifests/crates/tempfile-3.6.0:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/rustix-0.37.20:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tempfile_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tempfile",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.6.0",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_manifests/crates/autocfg-1.1.0:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tempfile_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tokio-1.16.1/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tokio-1.16.1/BUILD.bazel
deleted file mode 100644
index 77b9171..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/tokio-1.16.1/BUILD.bazel
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "bytes",
-        "default",
-        "fs",
-        "full",
-        "io-std",
-        "io-util",
-        "libc",
-        "macros",
-        "memchr",
-        "mio",
-        "net",
-        "num_cpus",
-        "once_cell",
-        "parking_lot",
-        "process",
-        "rt",
-        "rt-multi-thread",
-        "signal",
-        "signal-hook-registry",
-        "sync",
-        "test-util",
-        "time",
-        "tokio-macros",
-        "winapi",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/tokio-macros-1.8.0:tokio_macros",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.16.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/libc-0.2.126:libc",
-            "//vendor_local_manifests/crates/signal-hook-registry-1.4.0:signal_hook_registry",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/bytes-1.2.0:bytes",
-            "//vendor_local_manifests/crates/memchr-2.5.0:memchr",
-            "//vendor_local_manifests/crates/mio-0.7.14:mio",
-            "//vendor_local_manifests/crates/num_cpus-1.13.1:num_cpus",
-            "//vendor_local_manifests/crates/once_cell-1.13.0:once_cell",
-            "//vendor_local_manifests/crates/parking_lot-0.11.2:parking_lot",
-            "//vendor_local_manifests/crates/pin-project-lite-0.2.9:pin_project_lite",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_manifests/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-            "//vendor_local_manifests/crates/bytes-1.2.0:bytes",
-            "//vendor_local_manifests/crates/memchr-2.5.0:memchr",
-            "//vendor_local_manifests/crates/mio-0.7.14:mio",
-            "//vendor_local_manifests/crates/num_cpus-1.13.1:num_cpus",
-            "//vendor_local_manifests/crates/once_cell-1.13.0:once_cell",
-            "//vendor_local_manifests/crates/parking_lot-0.11.2:parking_lot",
-            "//vendor_local_manifests/crates/pin-project-lite-0.2.9:pin_project_lite",
-        ],
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/bytes-1.2.0:bytes",
-            "//vendor_local_manifests/crates/memchr-2.5.0:memchr",
-            "//vendor_local_manifests/crates/mio-0.7.14:mio",
-            "//vendor_local_manifests/crates/num_cpus-1.13.1:num_cpus",
-            "//vendor_local_manifests/crates/once_cell-1.13.0:once_cell",
-            "//vendor_local_manifests/crates/parking_lot-0.11.2:parking_lot",
-            "//vendor_local_manifests/crates/pin-project-lite-0.2.9:pin_project_lite",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tokio-1.28.2/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tokio-1.28.2/BUILD.bazel
new file mode 100644
index 0000000..8689746
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/tokio-1.28.2/BUILD.bazel
@@ -0,0 +1,310 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "test-util",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "//vendor_local_manifests/crates/tokio-macros-2.1.0:tokio_macros",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.28.2",
+    deps = [
+        "//vendor_local_manifests/crates/bytes-1.4.0:bytes",
+        "//vendor_local_manifests/crates/mio-0.8.8:mio",
+        "//vendor_local_manifests/crates/num_cpus-1.15.0:num_cpus",
+        "//vendor_local_manifests/crates/parking_lot-0.12.1:parking_lot",
+        "//vendor_local_manifests/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_manifests/crates/tokio-1.28.2:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "//vendor_local_manifests/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_manifests/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "//vendor_local_manifests/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tokio_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "test-util",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.28.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_manifests/crates/autocfg-1.1.0:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tokio_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tokio-macros-1.8.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tokio-macros-1.8.0/BUILD.bazel
deleted file mode 100644
index 4da8e5c..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/tokio-macros-1.8.0/BUILD.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "tokio_macros",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.8.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_manifests/crates/quote-1.0.20:quote",
-            "//vendor_local_manifests/crates/syn-1.0.98:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tokio-macros-2.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tokio-macros-2.1.0/BUILD.bazel
new file mode 100644
index 0000000..98e8ee8
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/tokio-macros-2.1.0/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tokio_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.1.0",
+    deps = [
+        "//vendor_local_manifests/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_manifests/crates/quote-1.0.28:quote",
+        "//vendor_local_manifests/crates/syn-2.0.18:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tokio-stream-0.1.14/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tokio-stream-0.1.14/BUILD.bazel
new file mode 100644
index 0000000..e1c7c28
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/tokio-stream-0.1.14/BUILD.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_stream",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "time",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-stream",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.14",
+    deps = [
+        "//vendor_local_manifests/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_manifests/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_manifests/crates/tokio-1.28.2:tokio",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tokio-stream-0.1.9/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tokio-stream-0.1.9/BUILD.bazel
deleted file mode 100644
index 28775be..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/tokio-stream-0.1.9/BUILD.bazel
+++ /dev/null
@@ -1,95 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio_stream",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "time",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_manifests/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_manifests/crates/tokio-1.16.1:tokio",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/tokio-test-0.4.2/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/tokio-test-0.4.2/BUILD.bazel
index 867fcbd..a0b267d 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/tokio-test-0.4.2/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/tokio-test-0.4.2/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,70 +16,67 @@
 
 rust_library(
     name = "tokio_test",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tokio-test",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.2",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/async-stream-0.3.3:async_stream",
-            "//vendor_local_manifests/crates/bytes-1.2.0:bytes",
-            "//vendor_local_manifests/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_manifests/crates/tokio-1.16.1:tokio",
-            "//vendor_local_manifests/crates/tokio-stream-0.1.9:tokio_stream",
-        ],
-    }),
+        "//vendor_local_manifests/crates/async-stream-0.3.5:async_stream",
+        "//vendor_local_manifests/crates/bytes-1.4.0:bytes",
+        "//vendor_local_manifests/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_manifests/crates/tokio-1.28.2:tokio",
+        "//vendor_local_manifests/crates/tokio-stream-0.1.14:tokio_stream",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/unicode-ident-1.0.2/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/unicode-ident-1.0.2/BUILD.bazel
deleted file mode 100644
index 59417d8..0000000
--- a/examples/crate_universe/vendor_local_manifests/crates/unicode-ident-1.0.2/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_manifests:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
-# ])
-
-rust_library(
-    name = "unicode_ident",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/unicode-ident-1.0.9/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/unicode-ident-1.0.9/BUILD.bazel
new file mode 100644
index 0000000..ab92f40
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/unicode-ident-1.0.9/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# ])
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-ident",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.9",
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/wasi-0.11.0+wasi-snapshot-preview1/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/wasi-0.11.0+wasi-snapshot-preview1/BUILD.bazel
new file mode 100644
index 0000000..f4d745d
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/wasi-0.11.0+wasi-snapshot-preview1/BUILD.bazel
@@ -0,0 +1,79 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "wasi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=wasi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.11.0+wasi-snapshot-preview1",
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/winapi-0.3.9/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/winapi-0.3.9/BUILD.bazel
index 8f55c3f..eed91b5 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/winapi-0.3.9/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/winapi-0.3.9/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,211 +17,109 @@
 
 rust_library(
     name = "winapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
-        "cfg",
-        "consoleapi",
-        "errhandlingapi",
-        "evntrace",
-        "fileapi",
         "handleapi",
-        "in6addr",
-        "inaddr",
-        "ioapiset",
-        "minwinbase",
-        "minwindef",
-        "mstcpip",
-        "mswsock",
-        "namedpipeapi",
-        "ntdef",
-        "ntsecapi",
-        "ntstatus",
-        "std",
-        "synchapi",
-        "threadpoollegacyapiset",
-        "winbase",
-        "windef",
-        "winerror",
-        "winioctl",
-        "winnt",
-        "winsock2",
-        "ws2def",
         "ws2ipdef",
+        "ws2tcpip",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.3.9",
     deps = [
-    ] + select_with_or({
-        # i686-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
-        #
-        # x86_64-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
-        #
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/winapi-0.3.9:build_script_build",
-        ],
-    }),
+        "//vendor_local_manifests/crates/winapi-0.3.9:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
-        "cfg",
-        "consoleapi",
-        "errhandlingapi",
-        "evntrace",
-        "fileapi",
         "handleapi",
-        "in6addr",
-        "inaddr",
-        "ioapiset",
-        "minwinbase",
-        "minwindef",
-        "mstcpip",
-        "mswsock",
-        "namedpipeapi",
-        "ntdef",
-        "ntsecapi",
-        "ntstatus",
-        "std",
-        "synchapi",
-        "threadpoollegacyapiset",
-        "winbase",
-        "windef",
-        "winerror",
-        "winioctl",
-        "winnt",
-        "winsock2",
-        "ws2def",
         "ws2ipdef",
+        "ws2tcpip",
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.3.9",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel
index 729cfb5..07921da 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,99 @@
 
 rust_library(
     name = "winapi_i686_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/winapi-i686-pc-windows-gnu-0.4.0:build_script_build",
-        ],
-    }),
+        "//vendor_local_manifests/crates/winapi-i686-pc-windows-gnu-0.4.0:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-i686-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-i686-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel
index a52f593..5f25742 100644
--- a/examples/crate_universe/vendor_local_manifests/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_manifests/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_manifests:crates_vendor
+#     bazel run @//vendor_local_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,99 @@
 
 rust_library(
     name = "winapi_x86_64_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_manifests/crates/winapi-x86_64-pc-windows-gnu-0.4.0:build_script_build",
-        ],
-    }),
+        "//vendor_local_manifests/crates/winapi-x86_64-pc-windows-gnu-0.4.0:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-x86_64-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-x86_64-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows-sys-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows-sys-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..60c88fa
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows-sys-0.48.0/BUILD.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_NetworkManagement",
+        "Win32_NetworkManagement_IpHelper",
+        "Win32_Networking",
+        "Win32_Networking_WinSock",
+        "Win32_Security",
+        "Win32_Security_Authorization",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Console",
+        "Win32_System_Diagnostics",
+        "Win32_System_Diagnostics_Debug",
+        "Win32_System_IO",
+        "Win32_System_Pipes",
+        "Win32_System_SystemServices",
+        "Win32_System_Threading",
+        "Win32_System_WindowsProgramming",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows-targets-0.48.0:windows_targets",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows-targets-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows-targets-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..b1cc780
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows-targets-0.48.0/BUILD.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_targets",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-targets",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows_aarch64_msvc-0.48.0:windows_aarch64_msvc",  # cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows_i686_msvc-0.48.0:windows_i686_msvc",  # cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/windows_i686_gnu-0.48.0:windows_i686_gnu",  # cfg(all(target_arch = "x86", target_env = "gnu", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_manifests/crates/windows_x86_64_msvc-0.48.0:windows_x86_64_msvc",  # cfg(all(target_arch = "x86_64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_manifests/crates/windows_x86_64_gnu-0.48.0:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows_aarch64_gnullvm-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows_aarch64_gnullvm-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..bd5855e
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows_aarch64_gnullvm-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows_aarch64_gnullvm-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows_aarch64_msvc-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows_aarch64_msvc-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..eb4be4c
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows_aarch64_msvc-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows_aarch64_msvc-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows_i686_gnu-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows_i686_gnu-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..4a2b64e
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows_i686_gnu-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows_i686_gnu-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows_i686_msvc-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows_i686_msvc-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..7fd7b5f
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows_i686_msvc-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows_i686_msvc-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_gnu-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_gnu-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..29365a1
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_gnu-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows_x86_64_gnu-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_gnullvm-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_gnullvm-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..1ab3f29
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_gnullvm-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows_x86_64_gnullvm-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_msvc-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_msvc-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..8f71a4c
--- /dev/null
+++ b/examples/crate_universe/vendor_local_manifests/crates/windows_x86_64_msvc-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_manifests/crates/windows_x86_64_msvc-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
index b04b739..195809b 100644
--- a/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
@@ -15,7 +15,7 @@
         ),
         "hyper": crate.spec(
             features = ["full"],
-            version = "0.14",
+            version = "0.14.22",
         ),
         "mime": crate.spec(
             version = "0.3",
@@ -23,12 +23,15 @@
         "serde_json": crate.spec(
             version = "1.0",
         ),
-        # TODO: This is pinned due to a build failure introduced by 1.17
-        # bringing in windows-sys and introduces linker errors.
-        # https://github.com/abrisco/cargo-bazel/issues/173
+        # TODO: This dependency is added and pinned forward due to the
+        # following issue: https://github.com/hyperium/hyper/issues/3038
+        "socket2": crate.spec(
+            features = ["all"],
+            version = "0.4.7",
+        ),
         "tokio": crate.spec(
             features = ["full"],
-            version = "=1.16.1",
+            version = "1.27.0",
         ),
         "tower": crate.spec(
             features = ["util"],
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/BUILD.bazel
index 5c2c712..66d7e14 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/BUILD.bazel
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -12,9 +12,7 @@
     [
         "cargo-bazel.json",
         "defs.bzl",
-    ] + glob([
-        "*.bazel",
-    ]),
+    ] + glob(["*.bazel"]),
 )
 
 filegroup(
@@ -34,25 +32,31 @@
 
 alias(
     name = "hyper",
-    actual = "//vendor_local_pkgs/crates/hyper-0.14.20:hyper",
+    actual = "//vendor_local_pkgs/crates/hyper-0.14.26:hyper",
     tags = ["manual"],
 )
 
 alias(
     name = "mime",
-    actual = "//vendor_local_pkgs/crates/mime-0.3.16:mime",
+    actual = "//vendor_local_pkgs/crates/mime-0.3.17:mime",
     tags = ["manual"],
 )
 
 alias(
     name = "serde_json",
-    actual = "//vendor_local_pkgs/crates/serde_json-1.0.82:serde_json",
+    actual = "//vendor_local_pkgs/crates/serde_json-1.0.97:serde_json",
+    tags = ["manual"],
+)
+
+alias(
+    name = "socket2",
+    actual = "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",
     tags = ["manual"],
 )
 
 alias(
     name = "tokio",
-    actual = "//vendor_local_pkgs/crates/tokio-1.16.1:tokio",
+    actual = "//vendor_local_pkgs/crates/tokio-1.28.2:tokio",
     tags = ["manual"],
 )
 
@@ -70,14 +74,12 @@
 
 alias(
     name = "tracing",
-    actual = "//vendor_local_pkgs/crates/tracing-0.1.35:tracing",
+    actual = "//vendor_local_pkgs/crates/tracing-0.1.37:tracing",
     tags = ["manual"],
 )
 
 alias(
     name = "tracing-subscriber",
-    actual = "//vendor_local_pkgs/crates/tracing-subscriber-0.3.15:tracing_subscriber",
+    actual = "//vendor_local_pkgs/crates/tracing-subscriber-0.3.17:tracing_subscriber",
     tags = ["manual"],
 )
-
-# Binaries
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/ansi_term-0.12.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/ansi_term-0.12.1/BUILD.bazel
deleted file mode 100644
index 0e648f3..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/ansi_term-0.12.1/BUILD.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "ansi_term",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.12.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "windows")
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/async-trait-0.1.56/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/async-trait-0.1.56/BUILD.bazel
deleted file mode 100644
index 3b01367..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/async-trait-0.1.56/BUILD.bazel
+++ /dev/null
@@ -1,177 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_proc_macro(
-    name = "async_trait",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.56",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/async-trait-0.1.56:build_script_build",
-            "//vendor_local_pkgs/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_pkgs/crates/quote-1.0.20:quote",
-            "//vendor_local_pkgs/crates/syn-1.0.98:syn",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "async-trait_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.1.56",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "async-trait_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/async-trait-0.1.68/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/async-trait-0.1.68/BUILD.bazel
new file mode 100644
index 0000000..f2c132a
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/async-trait-0.1.68/BUILD.bazel
@@ -0,0 +1,118 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_proc_macro(
+    name = "async_trait",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-trait",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.68",
+    deps = [
+        "//vendor_local_pkgs/crates/async-trait-0.1.68:build_script_build",
+        "//vendor_local_pkgs/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_pkgs/crates/quote-1.0.28:quote",
+        "//vendor_local_pkgs/crates/syn-2.0.18:syn",
+    ],
+)
+
+cargo_build_script(
+    name = "async-trait_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-trait",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.68",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "async-trait_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/autocfg-1.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/autocfg-1.1.0/BUILD.bazel
index 1bb71ea..58f0168 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/autocfg-1.1.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/autocfg-1.1.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "autocfg",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=autocfg",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.1.0",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/axum-0.4.8/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/axum-0.4.8/BUILD.bazel
index e40d6d4..09f7298 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/axum-0.4.8/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/axum-0.4.8/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,32 +16,20 @@
 
 rust_library(
     name = "axum",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = [
             "**",
             "**/*.md",
         ],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "http1",
@@ -60,61 +38,74 @@
         "tower-log",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
     proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/async-trait-0.1.56:async_trait",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
+        "//vendor_local_pkgs/crates/async-trait-0.1.68:async_trait",
     ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=axum",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.8",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/axum-core-0.1.2:axum_core",
-            "//vendor_local_pkgs/crates/bitflags-1.3.2:bitflags",
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/futures-util-0.3.21:futures_util",
-            "//vendor_local_pkgs/crates/http-0.2.8:http",
-            "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
-            "//vendor_local_pkgs/crates/hyper-0.14.20:hyper",
-            "//vendor_local_pkgs/crates/matchit-0.4.6:matchit",
-            "//vendor_local_pkgs/crates/memchr-2.5.0:memchr",
-            "//vendor_local_pkgs/crates/mime-0.3.16:mime",
-            "//vendor_local_pkgs/crates/percent-encoding-2.1.0:percent_encoding",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_pkgs/crates/serde-1.0.140:serde",
-            "//vendor_local_pkgs/crates/serde_json-1.0.82:serde_json",
-            "//vendor_local_pkgs/crates/serde_urlencoded-0.7.1:serde_urlencoded",
-            "//vendor_local_pkgs/crates/sync_wrapper-0.1.1:sync_wrapper",
-            "//vendor_local_pkgs/crates/tokio-1.16.1:tokio",
-            "//vendor_local_pkgs/crates/tower-0.4.13:tower",
-            "//vendor_local_pkgs/crates/tower-http-0.2.5:tower_http",
-            "//vendor_local_pkgs/crates/tower-layer-0.3.1:tower_layer",
-            "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/axum-core-0.1.2:axum_core",
+        "//vendor_local_pkgs/crates/bitflags-1.3.2:bitflags",
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/futures-util-0.3.28:futures_util",
+        "//vendor_local_pkgs/crates/http-0.2.9:http",
+        "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
+        "//vendor_local_pkgs/crates/hyper-0.14.26:hyper",
+        "//vendor_local_pkgs/crates/matchit-0.4.6:matchit",
+        "//vendor_local_pkgs/crates/memchr-2.5.0:memchr",
+        "//vendor_local_pkgs/crates/mime-0.3.17:mime",
+        "//vendor_local_pkgs/crates/percent-encoding-2.3.0:percent_encoding",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/serde-1.0.164:serde",
+        "//vendor_local_pkgs/crates/serde_json-1.0.97:serde_json",
+        "//vendor_local_pkgs/crates/serde_urlencoded-0.7.1:serde_urlencoded",
+        "//vendor_local_pkgs/crates/sync_wrapper-0.1.2:sync_wrapper",
+        "//vendor_local_pkgs/crates/tokio-1.28.2:tokio",
+        "//vendor_local_pkgs/crates/tower-0.4.13:tower",
+        "//vendor_local_pkgs/crates/tower-http-0.2.5:tower_http",
+        "//vendor_local_pkgs/crates/tower-layer-0.3.2:tower_layer",
+        "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/axum-core-0.1.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/axum-core-0.1.2/BUILD.bazel
index b5f263f..7d58efc 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/axum-core-0.1.2/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/axum-core-0.1.2/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,71 +16,70 @@
 
 rust_library(
     name = "axum_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
     proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/async-trait-0.1.56:async_trait",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
+        "//vendor_local_pkgs/crates/async-trait-0.1.68:async_trait",
     ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=axum-core",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.1.2",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/futures-util-0.3.21:futures_util",
-            "//vendor_local_pkgs/crates/http-0.2.8:http",
-            "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
-            "//vendor_local_pkgs/crates/mime-0.3.16:mime",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/futures-util-0.3.28:futures_util",
+        "//vendor_local_pkgs/crates/http-0.2.9:http",
+        "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
+        "//vendor_local_pkgs/crates/mime-0.3.17:mime",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/bitflags-1.3.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/bitflags-1.3.2/BUILD.bazel
index 913bd2c..5873e0a 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/bitflags-1.3.2/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/bitflags-1.3.2/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "bitflags",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=bitflags",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.3.2",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/bytes-1.2.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/bytes-1.2.0/BUILD.bazel
deleted file mode 100644
index 21cf49d..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/bytes-1.2.0/BUILD.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "bytes",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.2.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/bytes-1.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/bytes-1.4.0/BUILD.bazel
new file mode 100644
index 0000000..873be3d
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/bytes-1.4.0/BUILD.bazel
@@ -0,0 +1,79 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bytes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/cfg-if-1.0.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/cfg-if-1.0.0/BUILD.bazel
index ddca8cf..473d2be 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/cfg-if-1.0.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/cfg-if-1.0.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "cfg_if",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=cfg-if",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.0.0",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/defs.bzl b/examples/crate_universe/vendor_local_pkgs/crates/defs.bzl
index e8c8bc4..c0828f7 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/defs.bzl
+++ b/examples/crate_universe/vendor_local_pkgs/crates/defs.bzl
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 """
 # `crates_repository` API
@@ -35,7 +35,7 @@
         # name of the workspace this file is defined in.
         "workspace_member_package": {
 
-            # Not all dependnecies are supported for all platforms.
+            # Not all dependencies are supported for all platforms.
             # the condition key is the condition required to be true
             # on the host platform.
             "condition": {
@@ -151,7 +151,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -200,7 +200,7 @@
 
     crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
     for condition, deps in dependencies.items():
-        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+        crate_deps += selects.with_or({tuple(_CONDITIONS[condition]): deps.values()})
 
     return crate_deps
 
@@ -220,7 +220,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -272,15 +272,16 @@
 
     # Build a single select statement where each conditional has accounted for the
     # common set of aliases.
-    crate_aliases = {"//conditions:default": common_items}
+    crate_aliases = {"//conditions:default": dict(common_items)}
     for condition, deps in aliases.items():
         condition_triples = _CONDITIONS[condition]
-        if condition_triples in crate_aliases:
-            crate_aliases[condition_triples].update(deps)
-        else:
-            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+        for triple in condition_triples:
+            if triple in crate_aliases:
+                crate_aliases[triple].update(deps)
+            else:
+                crate_aliases.update({triple: dict(deps.items() + common_items)})
 
-    return selects.with_or(crate_aliases)
+    return select(crate_aliases)
 
 ###############################################################################
 # WORKSPACE MEMBER DEPS AND ALIASES
@@ -290,14 +291,15 @@
     "": {
         _COMMON_CONDITION: {
             "axum": "//vendor_local_pkgs/crates/axum-0.4.8:axum",
-            "hyper": "//vendor_local_pkgs/crates/hyper-0.14.20:hyper",
-            "mime": "//vendor_local_pkgs/crates/mime-0.3.16:mime",
-            "serde_json": "//vendor_local_pkgs/crates/serde_json-1.0.82:serde_json",
-            "tokio": "//vendor_local_pkgs/crates/tokio-1.16.1:tokio",
+            "hyper": "//vendor_local_pkgs/crates/hyper-0.14.26:hyper",
+            "mime": "//vendor_local_pkgs/crates/mime-0.3.17:mime",
+            "serde_json": "//vendor_local_pkgs/crates/serde_json-1.0.97:serde_json",
+            "socket2": "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",
+            "tokio": "//vendor_local_pkgs/crates/tokio-1.28.2:tokio",
             "tower": "//vendor_local_pkgs/crates/tower-0.4.13:tower",
             "tower-http": "//vendor_local_pkgs/crates/tower-http-0.2.5:tower_http",
-            "tracing": "//vendor_local_pkgs/crates/tracing-0.1.35:tracing",
-            "tracing-subscriber": "//vendor_local_pkgs/crates/tracing-subscriber-0.3.15:tracing_subscriber",
+            "tracing": "//vendor_local_pkgs/crates/tracing-0.1.37:tracing",
+            "tracing-subscriber": "//vendor_local_pkgs/crates/tracing-subscriber-0.3.17:tracing_subscriber",
         },
     },
 }
@@ -361,12 +363,22 @@
 
 _CONDITIONS = {
     "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
-    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
+    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
+    "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
     "cfg(target_os = \"redox\")": [],
-    "cfg(target_os = \"windows\")": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"],
+    "cfg(target_os = \"windows\")": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "cfg(tracing_unstable)": [],
-    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
     "i686-pc-windows-gnu": [],
     "x86_64-pc-windows-gnu": [],
 }
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/fnv-1.0.7/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/fnv-1.0.7/BUILD.bazel
index 787ef89..c73c065 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/fnv-1.0.7/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/fnv-1.0.7/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,67 +16,64 @@
 
 rust_library(
     name = "fnv",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "std",
     ],
     crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=fnv",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.0.7",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/form_urlencoded-1.0.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/form_urlencoded-1.0.1/BUILD.bazel
deleted file mode 100644
index 295100f..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/form_urlencoded-1.0.1/BUILD.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "form_urlencoded",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/matches-0.1.9:matches",
-            "//vendor_local_pkgs/crates/percent-encoding-2.1.0:percent_encoding",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/form_urlencoded-1.2.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/form_urlencoded-1.2.0/BUILD.bazel
new file mode 100644
index 0000000..bea5ef4
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/form_urlencoded-1.2.0/BUILD.bazel
@@ -0,0 +1,83 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "form_urlencoded",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=form_urlencoded",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.2.0",
+    deps = [
+        "//vendor_local_pkgs/crates/percent-encoding-2.3.0:percent_encoding",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-channel-0.3.21/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-channel-0.3.21/BUILD.bazel
deleted file mode 100644
index 4a084a2..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/futures-channel-0.3.21/BUILD.bazel
+++ /dev/null
@@ -1,181 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_channel",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/futures-channel-0.3.21:build_script_build",
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:futures_core",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-channel_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-channel_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-channel-0.3.28/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-channel-0.3.28/BUILD.bazel
new file mode 100644
index 0000000..e65ce24
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/futures-channel-0.3.28/BUILD.bazel
@@ -0,0 +1,126 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_channel",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-channel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.28",
+    deps = [
+        "//vendor_local_pkgs/crates/futures-channel-0.3.28:build_script_build",
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:futures_core",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-channel_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-channel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-channel_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-core-0.3.21/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-core-0.3.21/BUILD.bazel
deleted file mode 100644
index dc7e01c..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/futures-core-0.3.21/BUILD.bazel
+++ /dev/null
@@ -1,180 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-core-0.3.28/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-core-0.3.28/BUILD.bazel
new file mode 100644
index 0000000..5bbb480
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/futures-core-0.3.28/BUILD.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.28",
+    deps = [
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-sink-0.3.21/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-sink-0.3.21/BUILD.bazel
deleted file mode 100644
index e1773d5..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/futures-sink-0.3.21/BUILD.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_sink",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-sink-0.3.28/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-sink-0.3.28/BUILD.bazel
new file mode 100644
index 0000000..745daca
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/futures-sink-0.3.28/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_sink",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-sink",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.28",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-task-0.3.21/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-task-0.3.21/BUILD.bazel
deleted file mode 100644
index aba469c..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/futures-task-0.3.21/BUILD.bazel
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_task",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/futures-task-0.3.21:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-task_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-task_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-task-0.3.28/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-task-0.3.28/BUILD.bazel
new file mode 100644
index 0000000..3a5c2db
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/futures-task-0.3.28/BUILD.bazel
@@ -0,0 +1,121 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_task",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-task",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.28",
+    deps = [
+        "//vendor_local_pkgs/crates/futures-task-0.3.28:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-task_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-task",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-task_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-util-0.3.21/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-util-0.3.21/BUILD.bazel
deleted file mode 100644
index 1c17d8d..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/futures-util-0.3.21/BUILD.bazel
+++ /dev/null
@@ -1,180 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_util",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_pkgs/crates/futures-task-0.3.21:futures_task",
-            "//vendor_local_pkgs/crates/futures-util-0.3.21:build_script_build",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_pkgs/crates/pin-utils-0.1.0:pin_utils",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-util_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-util_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/futures-util-0.3.28/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/futures-util-0.3.28/BUILD.bazel
new file mode 100644
index 0000000..5ccecb6
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/futures-util-0.3.28/BUILD.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_util",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.28",
+    deps = [
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_pkgs/crates/futures-task-0.3.28:futures_task",
+        "//vendor_local_pkgs/crates/futures-util-0.3.28:build_script_build",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/pin-utils-0.1.0:pin_utils",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-util_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-util_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/h2-0.3.13/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/h2-0.3.13/BUILD.bazel
deleted file mode 100644
index b7e726a..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/h2-0.3.13/BUILD.bazel
+++ /dev/null
@@ -1,101 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "h2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.13",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/fnv-1.0.7:fnv",
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_pkgs/crates/futures-sink-0.3.21:futures_sink",
-            "//vendor_local_pkgs/crates/futures-util-0.3.21:futures_util",
-            "//vendor_local_pkgs/crates/http-0.2.8:http",
-            "//vendor_local_pkgs/crates/indexmap-1.9.1:indexmap",
-            "//vendor_local_pkgs/crates/slab-0.4.7:slab",
-            "//vendor_local_pkgs/crates/tokio-1.16.1:tokio",
-            "//vendor_local_pkgs/crates/tokio-util-0.7.2:tokio_util",
-            "//vendor_local_pkgs/crates/tracing-0.1.35:tracing",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/h2-0.3.19/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/h2-0.3.19/BUILD.bazel
new file mode 100644
index 0000000..46082c0
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/h2-0.3.19/BUILD.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "h2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=h2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.19",
+    deps = [
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/fnv-1.0.7:fnv",
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_pkgs/crates/futures-sink-0.3.28:futures_sink",
+        "//vendor_local_pkgs/crates/futures-util-0.3.28:futures_util",
+        "//vendor_local_pkgs/crates/http-0.2.9:http",
+        "//vendor_local_pkgs/crates/indexmap-1.9.3:indexmap",
+        "//vendor_local_pkgs/crates/slab-0.4.8:slab",
+        "//vendor_local_pkgs/crates/tokio-1.28.2:tokio",
+        "//vendor_local_pkgs/crates/tokio-util-0.7.8:tokio_util",
+        "//vendor_local_pkgs/crates/tracing-0.1.37:tracing",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/hashbrown-0.12.3/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/hashbrown-0.12.3/BUILD.bazel
index 62da4bf..f90a721 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/hashbrown-0.12.3/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/hashbrown-0.12.3/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "hashbrown",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "raw",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=hashbrown",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.12.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.12.3",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/hermit-abi-0.1.19/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/hermit-abi-0.1.19/BUILD.bazel
deleted file mode 100644
index d3341c3..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/hermit-abi-0.1.19/BUILD.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "hermit_abi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.19",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/libc-0.2.126:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/hermit-abi-0.2.6/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/hermit-abi-0.2.6/BUILD.bazel
new file mode 100644
index 0000000..aff3517
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/hermit-abi-0.2.6/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.6",
+    deps = [
+        "//vendor_local_pkgs/crates/libc-0.2.146:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/http-0.2.8/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/http-0.2.8/BUILD.bazel
deleted file mode 100644
index d4a9c25..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/http-0.2.8/BUILD.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "http",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.8",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/fnv-1.0.7:fnv",
-            "//vendor_local_pkgs/crates/itoa-1.0.2:itoa",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/http-0.2.9/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/http-0.2.9/BUILD.bazel
new file mode 100644
index 0000000..8b3b953
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/http-0.2.9/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "http",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=http",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.9",
+    deps = [
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/fnv-1.0.7:fnv",
+        "//vendor_local_pkgs/crates/itoa-1.0.6:itoa",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/http-body-0.4.5/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/http-body-0.4.5/BUILD.bazel
index d903766..c9ff237 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/http-body-0.4.5/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/http-body-0.4.5/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,68 +16,65 @@
 
 rust_library(
     name = "http_body",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=http-body",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.5",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/http-0.2.8:http",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/http-0.2.9:http",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/http-range-header-0.3.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/http-range-header-0.3.0/BUILD.bazel
index 8cabbbf..2b5518b 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/http-range-header-0.3.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/http-range-header-0.3.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "http_range_header",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=http-range-header",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.3.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.3.0",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/httparse-1.7.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/httparse-1.7.1/BUILD.bazel
deleted file mode 100644
index c39b690..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/httparse-1.7.1/BUILD.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "httparse",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.7.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/httparse-1.7.1:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "httparse_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.7.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "httparse_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/httparse-1.8.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/httparse-1.8.0/BUILD.bazel
new file mode 100644
index 0000000..bb35350
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/httparse-1.8.0/BUILD.bazel
@@ -0,0 +1,123 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "httparse",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=httparse",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.8.0",
+    deps = [
+        "//vendor_local_pkgs/crates/httparse-1.8.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "httparse_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=httparse",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.8.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "httparse_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/httpdate-1.0.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/httpdate-1.0.2/BUILD.bazel
index e58a3a3..9f52a77 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/httpdate-1.0.2/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/httpdate-1.0.2/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "httpdate",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=httpdate",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.0.2",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/hyper-0.14.20/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/hyper-0.14.20/BUILD.bazel
deleted file mode 100644
index a75076c..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/hyper-0.14.20/BUILD.bazel
+++ /dev/null
@@ -1,117 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "hyper",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "client",
-        "default",
-        "full",
-        "h2",
-        "http1",
-        "http2",
-        "runtime",
-        "server",
-        "socket2",
-        "stream",
-        "tcp",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.14.20",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/futures-channel-0.3.21:futures_channel",
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_pkgs/crates/futures-util-0.3.21:futures_util",
-            "//vendor_local_pkgs/crates/h2-0.3.13:h2",
-            "//vendor_local_pkgs/crates/http-0.2.8:http",
-            "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
-            "//vendor_local_pkgs/crates/httparse-1.7.1:httparse",
-            "//vendor_local_pkgs/crates/httpdate-1.0.2:httpdate",
-            "//vendor_local_pkgs/crates/itoa-1.0.2:itoa",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_pkgs/crates/socket2-0.4.4:socket2",
-            "//vendor_local_pkgs/crates/tokio-1.16.1:tokio",
-            "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
-            "//vendor_local_pkgs/crates/tracing-0.1.35:tracing",
-            "//vendor_local_pkgs/crates/want-0.3.0:want",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/hyper-0.14.26/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/hyper-0.14.26/BUILD.bazel
new file mode 100644
index 0000000..4211972
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/hyper-0.14.26/BUILD.bazel
@@ -0,0 +1,106 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "hyper",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "client",
+        "default",
+        "full",
+        "h2",
+        "http1",
+        "http2",
+        "runtime",
+        "server",
+        "socket2",
+        "stream",
+        "tcp",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hyper",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.14.26",
+    deps = [
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/futures-channel-0.3.28:futures_channel",
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_pkgs/crates/futures-util-0.3.28:futures_util",
+        "//vendor_local_pkgs/crates/h2-0.3.19:h2",
+        "//vendor_local_pkgs/crates/http-0.2.9:http",
+        "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
+        "//vendor_local_pkgs/crates/httparse-1.8.0:httparse",
+        "//vendor_local_pkgs/crates/httpdate-1.0.2:httpdate",
+        "//vendor_local_pkgs/crates/itoa-1.0.6:itoa",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",
+        "//vendor_local_pkgs/crates/tokio-1.28.2:tokio",
+        "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
+        "//vendor_local_pkgs/crates/tracing-0.1.37:tracing",
+        "//vendor_local_pkgs/crates/want-0.3.1:want",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/indexmap-1.9.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/indexmap-1.9.1/BUILD.bazel
deleted file mode 100644
index 0e1e4ca..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/indexmap-1.9.1/BUILD.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "indexmap",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.9.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/hashbrown-0.12.3:hashbrown",
-            "//vendor_local_pkgs/crates/indexmap-1.9.1:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "indexmap_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.9.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/autocfg-1.1.0:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "indexmap_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/indexmap-1.9.3/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/indexmap-1.9.3/BUILD.bazel
new file mode 100644
index 0000000..30312be
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/indexmap-1.9.3/BUILD.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "indexmap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.9.3",
+    deps = [
+        "//vendor_local_pkgs/crates/hashbrown-0.12.3:hashbrown",
+        "//vendor_local_pkgs/crates/indexmap-1.9.3:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "indexmap_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.3",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_pkgs/crates/autocfg-1.1.0:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "indexmap_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/instant-0.1.12/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/instant-0.1.12/BUILD.bazel
deleted file mode 100644
index 7c6a7cb..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/instant-0.1.12/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # BSD-3-Clause
-# ])
-
-rust_library(
-    name = "instant",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.12",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/itoa-1.0.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/itoa-1.0.2/BUILD.bazel
deleted file mode 100644
index 4237dab..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/itoa-1.0.2/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "itoa",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/itoa-1.0.6/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/itoa-1.0.6/BUILD.bazel
new file mode 100644
index 0000000..592afad
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/itoa-1.0.6/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "itoa",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=itoa",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.6",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/lazy_static-1.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/lazy_static-1.4.0/BUILD.bazel
index 6645036..ee66535 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/lazy_static-1.4.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/lazy_static-1.4.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "lazy_static",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=lazy_static",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.4.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.4.0",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/libc-0.2.126/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/libc-0.2.126/BUILD.bazel
deleted file mode 100644
index 1ed39f4..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/libc-0.2.126/BUILD.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.126",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/libc-0.2.126:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "libc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.2.126",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "libc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/libc-0.2.146/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/libc-0.2.146/BUILD.bazel
new file mode 100644
index 0000000..1acd1dc
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/libc-0.2.146/BUILD.bazel
@@ -0,0 +1,123 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.146",
+    deps = [
+        "//vendor_local_pkgs/crates/libc-0.2.146:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.146",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/lock_api-0.4.10/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/lock_api-0.4.10/BUILD.bazel
new file mode 100644
index 0000000..b726486
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/lock_api-0.4.10/BUILD.bazel
@@ -0,0 +1,127 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.10",
+    deps = [
+        "//vendor_local_pkgs/crates/lock_api-0.4.10:build_script_build",
+        "//vendor_local_pkgs/crates/scopeguard-1.1.0:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "lock_api_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.10",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_pkgs/crates/autocfg-1.1.0:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "lock_api_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/lock_api-0.4.7/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/lock_api-0.4.7/BUILD.bazel
deleted file mode 100644
index aaec2df..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/lock_api-0.4.7/BUILD.bazel
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "lock_api",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/lock_api-0.4.7:build_script_build",
-            "//vendor_local_pkgs/crates/scopeguard-1.1.0:scopeguard",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "lock_api_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/autocfg-1.1.0:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "lock_api_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/log-0.4.17/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/log-0.4.17/BUILD.bazel
deleted file mode 100644
index b972509..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/log-0.4.17/BUILD.bazel
+++ /dev/null
@@ -1,177 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "log",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.17",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_pkgs/crates/log-0.4.17:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "log_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.17",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "log_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/log-0.4.19/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/log-0.4.19/BUILD.bazel
new file mode 100644
index 0000000..2bf0400
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/log-0.4.19/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "log",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.19",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/matches-0.1.9/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/matches-0.1.9/BUILD.bazel
deleted file mode 100644
index 705b2b3..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/matches-0.1.9/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "matches",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/matchit-0.4.6/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/matchit-0.4.6/BUILD.bazel
index 2f54bb7..5b4819f 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/matchit-0.4.6/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/matchit-0.4.6/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "matchit",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=matchit",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.4.6",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.4.6",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/memchr-2.5.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/memchr-2.5.0/BUILD.bazel
index 0fae985..9d0dc23 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/memchr-2.5.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/memchr-2.5.0/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,149 +17,107 @@
 
 rust_library(
     name = "memchr",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=memchr",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "2.5.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/memchr-2.5.0:build_script_build",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/memchr-2.5.0:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "memchr_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
         "default",
         "std",
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=memchr",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "2.5.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "memchr_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/mime-0.3.16/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/mime-0.3.16/BUILD.bazel
deleted file mode 100644
index c785481..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/mime-0.3.16/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "mime",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.16",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/mime-0.3.17/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/mime-0.3.17/BUILD.bazel
new file mode 100644
index 0000000..d42a442
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/mime-0.3.17/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "mime",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mime",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.17",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/mio-0.7.14/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/mio-0.7.14/BUILD.bazel
deleted file mode 100644
index 056014a..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/mio-0.7.14/BUILD.bazel
+++ /dev/null
@@ -1,140 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "mio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "net",
-        "os-ext",
-        "os-poll",
-        "os-util",
-        "tcp",
-        "udp",
-        "uds",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.7.14",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/libc-0.2.126:libc",
-
-            # Common Deps
-            "//vendor_local_pkgs/crates/log-0.4.17:log",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/miow-0.3.7:miow",
-            "//vendor_local_pkgs/crates/ntapi-0.3.7:ntapi",
-            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-            "//vendor_local_pkgs/crates/log-0.4.17:log",
-        ],
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/log-0.4.17:log",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/mio-0.8.8/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/mio-0.8.8/BUILD.bazel
new file mode 100644
index 0000000..296d606
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/mio-0.8.8/BUILD.bazel
@@ -0,0 +1,159 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "net",
+        "os-ext",
+        "os-poll",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.8.8",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(target_os = "wasi")
+            "//vendor_local_pkgs/crates/wasi-0.11.0-wasi-snapshot-preview1:wasi",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/miow-0.3.7/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/miow-0.3.7/BUILD.bazel
deleted file mode 100644
index 97e2c7e..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/miow-0.3.7/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "miow",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/ntapi-0.3.7/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/ntapi-0.3.7/BUILD.bazel
deleted file mode 100644
index 34c17ea..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/ntapi-0.3.7/BUILD.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "ntapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "user",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/ntapi-0.3.7:build_script_build",
-            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "ntapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "user",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "ntapi_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/nu-ansi-term-0.46.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/nu-ansi-term-0.46.0/BUILD.bazel
new file mode 100644
index 0000000..56b1e03
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/nu-ansi-term-0.46.0/BUILD.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "nu_ansi_term",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=nu-ansi-term",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.46.0",
+    deps = [
+        "//vendor_local_pkgs/crates/overload-0.1.1:overload",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",  # cfg(target_os = "windows")
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/num_cpus-1.13.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/num_cpus-1.13.1/BUILD.bazel
deleted file mode 100644
index 1868e6a..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/num_cpus-1.13.1/BUILD.bazel
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "num_cpus",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))
-        #
-        # No supported platform triples for cfg: 'cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))'
-        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
-        #
-        # cfg(not(windows))
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:riscv32imc-unknown-none-elf",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:wasm32-unknown-unknown",
-            "@rules_rust//rust/platform:wasm32-wasi",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/libc-0.2.126:libc",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/num_cpus-1.15.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/num_cpus-1.15.0/BUILD.bazel
new file mode 100644
index 0000000..7549c0d
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/num_cpus-1.15.0/BUILD.bazel
@@ -0,0 +1,162 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=num_cpus",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.15.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/once_cell-1.13.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/once_cell-1.13.0/BUILD.bazel
deleted file mode 100644
index 61a4291..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/once_cell-1.13.0/BUILD.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "once_cell",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/once_cell-1.18.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/once_cell-1.18.0/BUILD.bazel
new file mode 100644
index 0000000..18f161b
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/once_cell-1.18.0/BUILD.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "once_cell",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "race",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=once_cell",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.18.0",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/overload-0.1.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/overload-0.1.1/BUILD.bazel
new file mode 100644
index 0000000..38cc7ad
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/overload-0.1.1/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "overload",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=overload",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.1",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/parking_lot-0.11.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/parking_lot-0.11.2/BUILD.bazel
deleted file mode 100644
index 0a117ab..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/parking_lot-0.11.2/BUILD.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "parking_lot",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.11.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/instant-0.1.12:instant",
-            "//vendor_local_pkgs/crates/lock_api-0.4.7:lock_api",
-            "//vendor_local_pkgs/crates/parking_lot_core-0.8.5:parking_lot_core",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/parking_lot-0.12.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/parking_lot-0.12.1/BUILD.bazel
new file mode 100644
index 0000000..9d27d5f
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/parking_lot-0.12.1/BUILD.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.12.1",
+    deps = [
+        "//vendor_local_pkgs/crates/lock_api-0.4.10:lock_api",
+        "//vendor_local_pkgs/crates/parking_lot_core-0.9.8:parking_lot_core",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/parking_lot_core-0.8.5/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/parking_lot_core-0.8.5/BUILD.bazel
deleted file mode 100644
index d13d935..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/parking_lot_core-0.8.5/BUILD.bazel
+++ /dev/null
@@ -1,227 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "parking_lot_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.8.5",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "redox")
-        #
-        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
-        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
-        #
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/libc-0.2.126:libc",
-
-            # Common Deps
-            "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_pkgs/crates/instant-0.1.12:instant",
-            "//vendor_local_pkgs/crates/parking_lot_core-0.8.5:build_script_build",
-            "//vendor_local_pkgs/crates/smallvec-1.9.0:smallvec",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-            "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_pkgs/crates/instant-0.1.12:instant",
-            "//vendor_local_pkgs/crates/parking_lot_core-0.8.5:build_script_build",
-            "//vendor_local_pkgs/crates/smallvec-1.9.0:smallvec",
-        ],
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_pkgs/crates/instant-0.1.12:instant",
-            "//vendor_local_pkgs/crates/parking_lot_core-0.8.5:build_script_build",
-            "//vendor_local_pkgs/crates/smallvec-1.9.0:smallvec",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "parking_lot_core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.8.5",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "parking_lot_core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/parking_lot_core-0.9.8/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/parking_lot_core-0.9.8/BUILD.bazel
new file mode 100644
index 0000000..9ca7530
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/parking_lot_core-0.9.8/BUILD.bazel
@@ -0,0 +1,191 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.9.8",
+    deps = [
+        "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
+        "//vendor_local_pkgs/crates/parking_lot_core-0.9.8:build_script_build",
+        "//vendor_local_pkgs/crates/smallvec-1.10.0:smallvec",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows-targets-0.48.0:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows-targets-0.48.0:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows-targets-0.48.0:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "parking_lot_core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.8",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "parking_lot_core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/percent-encoding-2.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/percent-encoding-2.1.0/BUILD.bazel
deleted file mode 100644
index 462c724..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/percent-encoding-2.1.0/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "percent_encoding",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/percent-encoding-2.3.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/percent-encoding-2.3.0/BUILD.bazel
new file mode 100644
index 0000000..4a1f56e
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/percent-encoding-2.3.0/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "percent_encoding",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=percent-encoding",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.3.0",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-1.0.11/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-1.0.11/BUILD.bazel
deleted file mode 100644
index d6c2ce5..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-1.0.11/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "pin_project",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/pin-project-internal-1.0.11:pin_project_internal",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.11",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-1.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-1.1.0/BUILD.bazel
new file mode 100644
index 0000000..5bb3786
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-1.1.0/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "pin_project",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "//vendor_local_pkgs/crates/pin-project-internal-1.1.0:pin_project_internal",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.1.0",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-internal-1.0.11/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-internal-1.0.11/BUILD.bazel
deleted file mode 100644
index 6b5bea9..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-internal-1.0.11/BUILD.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_proc_macro(
-    name = "pin_project_internal",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.11",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_pkgs/crates/quote-1.0.20:quote",
-            "//vendor_local_pkgs/crates/syn-1.0.98:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-internal-1.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-internal-1.1.0/BUILD.bazel
new file mode 100644
index 0000000..b63cd84
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-internal-1.1.0/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_proc_macro(
+    name = "pin_project_internal",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project-internal",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.1.0",
+    deps = [
+        "//vendor_local_pkgs/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_pkgs/crates/quote-1.0.28:quote",
+        "//vendor_local_pkgs/crates/syn-2.0.18:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-lite-0.2.9/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-lite-0.2.9/BUILD.bazel
index 2b7023a..6a30fb9 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/pin-project-lite-0.2.9/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/pin-project-lite-0.2.9/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "pin_project_lite",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=pin-project-lite",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.2.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.2.9",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/pin-utils-0.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/pin-utils-0.1.0/BUILD.bazel
index 6520efd..2c254ee 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/pin-utils-0.1.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/pin-utils-0.1.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "pin_utils",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=pin-utils",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.1.0",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/proc-macro2-1.0.40/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/proc-macro2-1.0.40/BUILD.bazel
deleted file mode 100644
index 29e3029..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/proc-macro2-1.0.40/BUILD.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "proc_macro2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.40",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/proc-macro2-1.0.40:build_script_build",
-            "//vendor_local_pkgs/crates/unicode-ident-1.0.2:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "proc-macro2_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.40",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "proc-macro2_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/proc-macro2-1.0.60/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/proc-macro2-1.0.60/BUILD.bazel
new file mode 100644
index 0000000..c20f99b
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/proc-macro2-1.0.60/BUILD.bazel
@@ -0,0 +1,124 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.60",
+    deps = [
+        "//vendor_local_pkgs/crates/proc-macro2-1.0.60:build_script_build",
+        "//vendor_local_pkgs/crates/unicode-ident-1.0.9:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "proc-macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.60",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/quote-1.0.20/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/quote-1.0.20/BUILD.bazel
deleted file mode 100644
index 76ef54f..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/quote-1.0.20/BUILD.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "quote",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.20",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_pkgs/crates/quote-1.0.20:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "quote_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.20",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "quote_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/quote-1.0.28/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/quote-1.0.28/BUILD.bazel
new file mode 100644
index 0000000..2092dba
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/quote-1.0.28/BUILD.bazel
@@ -0,0 +1,124 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.28",
+    deps = [
+        "//vendor_local_pkgs/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_pkgs/crates/quote-1.0.28:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "quote_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "quote_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/redox_syscall-0.2.13/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/redox_syscall-0.2.13/BUILD.bazel
deleted file mode 100644
index 57622e6..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/redox_syscall-0.2.13/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "syscall",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.13",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bitflags-1.3.2:bitflags",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/redox_syscall-0.3.5/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/redox_syscall-0.3.5/BUILD.bazel
new file mode 100644
index 0000000..54096f4
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/redox_syscall-0.3.5/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.5",
+    deps = [
+        "//vendor_local_pkgs/crates/bitflags-1.3.2:bitflags",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/ryu-1.0.10/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/ryu-1.0.10/BUILD.bazel
deleted file mode 100644
index bee638e..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/ryu-1.0.10/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR BSL-1.0
-# ])
-
-rust_library(
-    name = "ryu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.10",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/ryu-1.0.13/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/ryu-1.0.13/BUILD.bazel
new file mode 100644
index 0000000..aa9d251
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/ryu-1.0.13/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR BSL-1.0
+# ])
+
+rust_library(
+    name = "ryu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=ryu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.13",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/scopeguard-1.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/scopeguard-1.1.0/BUILD.bazel
index e318ede..10e4909 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/scopeguard-1.1.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/scopeguard-1.1.0/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "scopeguard",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=scopeguard",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "1.1.0",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/serde-1.0.140/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/serde-1.0.140/BUILD.bazel
deleted file mode 100644
index 2b33912..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/serde-1.0.140/BUILD.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.140",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/serde-1.0.140:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "serde_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.140",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "serde_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/serde-1.0.164/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/serde-1.0.164/BUILD.bazel
new file mode 100644
index 0000000..2a79171
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/serde-1.0.164/BUILD.bazel
@@ -0,0 +1,123 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.164",
+    deps = [
+        "//vendor_local_pkgs/crates/serde-1.0.164:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.164",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "serde_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/serde_json-1.0.82/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/serde_json-1.0.82/BUILD.bazel
deleted file mode 100644
index 1b58f9e..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/serde_json-1.0.82/BUILD.bazel
+++ /dev/null
@@ -1,183 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde_json",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "raw_value",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.82",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/itoa-1.0.2:itoa",
-            "//vendor_local_pkgs/crates/ryu-1.0.10:ryu",
-            "//vendor_local_pkgs/crates/serde-1.0.140:serde",
-            "//vendor_local_pkgs/crates/serde_json-1.0.82:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "serde_json_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "raw_value",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.82",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "serde_json_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/serde_json-1.0.97/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/serde_json-1.0.97/BUILD.bazel
new file mode 100644
index 0000000..28b4bd0
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/serde_json-1.0.97/BUILD.bazel
@@ -0,0 +1,128 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde_json",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "raw_value",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.97",
+    deps = [
+        "//vendor_local_pkgs/crates/itoa-1.0.6:itoa",
+        "//vendor_local_pkgs/crates/ryu-1.0.13:ryu",
+        "//vendor_local_pkgs/crates/serde-1.0.164:serde",
+        "//vendor_local_pkgs/crates/serde_json-1.0.97:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_json_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "raw_value",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.97",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "serde_json_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/serde_urlencoded-0.7.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/serde_urlencoded-0.7.1/BUILD.bazel
index 2b76170..43f096e 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/serde_urlencoded-0.7.1/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/serde_urlencoded-0.7.1/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,69 +16,66 @@
 
 rust_library(
     name = "serde_urlencoded",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=serde_urlencoded",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.7.1",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/form_urlencoded-1.0.1:form_urlencoded",
-            "//vendor_local_pkgs/crates/itoa-1.0.2:itoa",
-            "//vendor_local_pkgs/crates/ryu-1.0.10:ryu",
-            "//vendor_local_pkgs/crates/serde-1.0.140:serde",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/form_urlencoded-1.2.0:form_urlencoded",
+        "//vendor_local_pkgs/crates/itoa-1.0.6:itoa",
+        "//vendor_local_pkgs/crates/ryu-1.0.13:ryu",
+        "//vendor_local_pkgs/crates/serde-1.0.164:serde",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/sharded-slab-0.1.4/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/sharded-slab-0.1.4/BUILD.bazel
index f1e3485..79b07cb 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/sharded-slab-0.1.4/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/sharded-slab-0.1.4/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,63 @@
 
 rust_library(
     name = "sharded_slab",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=sharded-slab",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.1.4",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/lazy_static-1.4.0:lazy_static",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/lazy_static-1.4.0:lazy_static",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/signal-hook-registry-1.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/signal-hook-registry-1.4.0/BUILD.bazel
deleted file mode 100644
index 57b82cb..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/signal-hook-registry-1.4.0/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "signal_hook_registry",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.4.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/libc-0.2.126:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/signal-hook-registry-1.4.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/signal-hook-registry-1.4.1/BUILD.bazel
new file mode 100644
index 0000000..60e2c3f
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/signal-hook-registry-1.4.1/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "signal_hook_registry",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=signal-hook-registry",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.4.1",
+    deps = [
+        "//vendor_local_pkgs/crates/libc-0.2.146:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/slab-0.4.7/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/slab-0.4.7/BUILD.bazel
deleted file mode 100644
index 0637184..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/slab-0.4.7/BUILD.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "slab",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/slab-0.4.7:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "slab_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/autocfg-1.1.0:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "slab_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/slab-0.4.8/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/slab-0.4.8/BUILD.bazel
new file mode 100644
index 0000000..b7b392d
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/slab-0.4.8/BUILD.bazel
@@ -0,0 +1,126 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "slab",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.8",
+    deps = [
+        "//vendor_local_pkgs/crates/slab-0.4.8:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "slab_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.8",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_pkgs/crates/autocfg-1.1.0:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "slab_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/smallvec-1.10.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/smallvec-1.10.0/BUILD.bazel
new file mode 100644
index 0000000..5e1df79
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/smallvec-1.10.0/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "smallvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=smallvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.10.0",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/smallvec-1.9.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/smallvec-1.9.0/BUILD.bazel
deleted file mode 100644
index 3085cbc..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/smallvec-1.9.0/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "smallvec",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.9.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/socket2-0.4.4/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/socket2-0.4.4/BUILD.bazel
deleted file mode 100644
index 9c1852f..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/socket2-0.4.4/BUILD.bazel
+++ /dev/null
@@ -1,127 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "socket2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.4",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/libc-0.2.126:libc",
-
-            # Common Deps
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/socket2-0.4.9/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/socket2-0.4.9/BUILD.bazel
new file mode 100644
index 0000000..af440f1
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/socket2-0.4.9/BUILD.bazel
@@ -0,0 +1,153 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "socket2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "all",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=socket2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.4.9",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/syn-1.0.98/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/syn-1.0.98/BUILD.bazel
deleted file mode 100644
index 07610ec..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/syn-1.0.98/BUILD.bazel
+++ /dev/null
@@ -1,199 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "syn",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "extra-traits",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit",
-        "visit-mut",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.98",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_pkgs/crates/quote-1.0.20:quote",
-            "//vendor_local_pkgs/crates/syn-1.0.98:build_script_build",
-            "//vendor_local_pkgs/crates/unicode-ident-1.0.2:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "syn_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "extra-traits",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit",
-        "visit-mut",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.98",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "syn_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/syn-2.0.18/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/syn-2.0.18/BUILD.bazel
new file mode 100644
index 0000000..8191625
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/syn-2.0.18/BUILD.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.0.18",
+    deps = [
+        "//vendor_local_pkgs/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_pkgs/crates/quote-1.0.28:quote",
+        "//vendor_local_pkgs/crates/unicode-ident-1.0.9:unicode_ident",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/sync_wrapper-0.1.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/sync_wrapper-0.1.1/BUILD.bazel
deleted file mode 100644
index 96d58ba..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/sync_wrapper-0.1.1/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0
-# ])
-
-rust_library(
-    name = "sync_wrapper",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/sync_wrapper-0.1.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/sync_wrapper-0.1.2/BUILD.bazel
new file mode 100644
index 0000000..38bad3a
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/sync_wrapper-0.1.2/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0
+# ])
+
+rust_library(
+    name = "sync_wrapper",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=sync_wrapper",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.2",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/thread_local-1.1.4/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/thread_local-1.1.4/BUILD.bazel
deleted file mode 100644
index 1670689..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/thread_local-1.1.4/BUILD.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "thread_local",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.1.4",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/once_cell-1.13.0:once_cell",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/thread_local-1.1.7/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/thread_local-1.1.7/BUILD.bazel
new file mode 100644
index 0000000..2a2ce2b
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/thread_local-1.1.7/BUILD.bazel
@@ -0,0 +1,79 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "thread_local",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=thread_local",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.1.7",
+    deps = [
+        "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
+        "//vendor_local_pkgs/crates/once_cell-1.18.0:once_cell",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tokio-1.16.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tokio-1.16.1/BUILD.bazel
deleted file mode 100644
index 21913e2..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tokio-1.16.1/BUILD.bazel
+++ /dev/null
@@ -1,173 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "bytes",
-        "default",
-        "fs",
-        "full",
-        "io-std",
-        "io-util",
-        "libc",
-        "macros",
-        "memchr",
-        "mio",
-        "net",
-        "num_cpus",
-        "once_cell",
-        "parking_lot",
-        "process",
-        "rt",
-        "rt-multi-thread",
-        "signal",
-        "signal-hook-registry",
-        "sync",
-        "time",
-        "tokio-macros",
-        "winapi",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/tokio-macros-1.8.0:tokio_macros",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.16.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/libc-0.2.126:libc",
-            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.0:signal_hook_registry",
-
-            # Common Deps
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/memchr-2.5.0:memchr",
-            "//vendor_local_pkgs/crates/mio-0.7.14:mio",
-            "//vendor_local_pkgs/crates/num_cpus-1.13.1:num_cpus",
-            "//vendor_local_pkgs/crates/once_cell-1.13.0:once_cell",
-            "//vendor_local_pkgs/crates/parking_lot-0.11.2:parking_lot",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "//vendor_local_pkgs/crates/winapi-0.3.9:winapi",
-
-            # Common Deps
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/memchr-2.5.0:memchr",
-            "//vendor_local_pkgs/crates/mio-0.7.14:mio",
-            "//vendor_local_pkgs/crates/num_cpus-1.13.1:num_cpus",
-            "//vendor_local_pkgs/crates/once_cell-1.13.0:once_cell",
-            "//vendor_local_pkgs/crates/parking_lot-0.11.2:parking_lot",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-        ],
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/memchr-2.5.0:memchr",
-            "//vendor_local_pkgs/crates/mio-0.7.14:mio",
-            "//vendor_local_pkgs/crates/num_cpus-1.13.1:num_cpus",
-            "//vendor_local_pkgs/crates/once_cell-1.13.0:once_cell",
-            "//vendor_local_pkgs/crates/parking_lot-0.11.2:parking_lot",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tokio-1.28.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tokio-1.28.2/BUILD.bazel
new file mode 100644
index 0000000..375b12b
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tokio-1.28.2/BUILD.bazel
@@ -0,0 +1,308 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "//vendor_local_pkgs/crates/tokio-macros-2.1.0:tokio_macros",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.28.2",
+    deps = [
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/mio-0.8.8:mio",
+        "//vendor_local_pkgs/crates/num_cpus-1.15.0:num_cpus",
+        "//vendor_local_pkgs/crates/parking_lot-0.12.1:parking_lot",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/tokio-1.28.2:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/libc-0.2.146:libc",  # cfg(unix)
+            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "//vendor_local_pkgs/crates/socket2-0.4.9:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tokio_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.28.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//vendor_local_pkgs/crates/autocfg-1.1.0:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tokio_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tokio-macros-1.8.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tokio-macros-1.8.0/BUILD.bazel
deleted file mode 100644
index 4f4fc3d..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tokio-macros-1.8.0/BUILD.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "tokio_macros",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.8.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_pkgs/crates/quote-1.0.20:quote",
-            "//vendor_local_pkgs/crates/syn-1.0.98:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tokio-macros-2.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tokio-macros-2.1.0/BUILD.bazel
new file mode 100644
index 0000000..bfab71d
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tokio-macros-2.1.0/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tokio_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "2.1.0",
+    deps = [
+        "//vendor_local_pkgs/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_pkgs/crates/quote-1.0.28:quote",
+        "//vendor_local_pkgs/crates/syn-2.0.18:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tokio-util-0.7.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tokio-util-0.7.2/BUILD.bazel
deleted file mode 100644
index bc5ac58..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tokio-util-0.7.2/BUILD.bazel
+++ /dev/null
@@ -1,99 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio_util",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "codec",
-        "default",
-        "tracing",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.7.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_pkgs/crates/futures-sink-0.3.21:futures_sink",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_pkgs/crates/tokio-1.16.1:tokio",
-            "//vendor_local_pkgs/crates/tracing-0.1.35:tracing",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tokio-util-0.7.8/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tokio-util-0.7.8/BUILD.bazel
new file mode 100644
index 0000000..f4473d0
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tokio-util-0.7.8/BUILD.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_util",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "codec",
+        "default",
+        "tracing",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.7.8",
+    deps = [
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_pkgs/crates/futures-sink-0.3.28:futures_sink",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/tokio-1.28.2:tokio",
+        "//vendor_local_pkgs/crates/tracing-0.1.37:tracing",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tower-0.4.13/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tower-0.4.13/BUILD.bazel
index 56995d5..de9047f 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/tower-0.4.13/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tower-0.4.13/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,29 +16,17 @@
 
 rust_library(
     name = "tower",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "__common",
         "buffer",
@@ -65,48 +43,59 @@
         "util",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tower",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.13",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_pkgs/crates/futures-util-0.3.21:futures_util",
-            "//vendor_local_pkgs/crates/pin-project-1.0.11:pin_project",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_pkgs/crates/tokio-1.16.1:tokio",
-            "//vendor_local_pkgs/crates/tokio-util-0.7.2:tokio_util",
-            "//vendor_local_pkgs/crates/tower-layer-0.3.1:tower_layer",
-            "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
-            "//vendor_local_pkgs/crates/tracing-0.1.35:tracing",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_pkgs/crates/futures-util-0.3.28:futures_util",
+        "//vendor_local_pkgs/crates/pin-project-1.1.0:pin_project",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/tokio-1.28.2:tokio",
+        "//vendor_local_pkgs/crates/tokio-util-0.7.8:tokio_util",
+        "//vendor_local_pkgs/crates/tower-layer-0.3.2:tower_layer",
+        "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
+        "//vendor_local_pkgs/crates/tracing-0.1.37:tracing",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tower-http-0.2.5/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tower-http-0.2.5/BUILD.bazel
index 983fd2f..e99cb1d 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/tower-http-0.2.5/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tower-http-0.2.5/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,29 +16,17 @@
 
 rust_library(
     name = "tower_http",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "map-response-body",
@@ -58,51 +36,62 @@
         "util",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tower-http",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.2.5",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/bitflags-1.3.2:bitflags",
-            "//vendor_local_pkgs/crates/bytes-1.2.0:bytes",
-            "//vendor_local_pkgs/crates/futures-core-0.3.21:futures_core",
-            "//vendor_local_pkgs/crates/futures-util-0.3.21:futures_util",
-            "//vendor_local_pkgs/crates/http-0.2.8:http",
-            "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
-            "//vendor_local_pkgs/crates/http-range-header-0.3.0:http_range_header",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_pkgs/crates/tower-0.4.13:tower",
-            "//vendor_local_pkgs/crates/tower-layer-0.3.1:tower_layer",
-            "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
-            "//vendor_local_pkgs/crates/tracing-0.1.35:tracing",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/bitflags-1.3.2:bitflags",
+        "//vendor_local_pkgs/crates/bytes-1.4.0:bytes",
+        "//vendor_local_pkgs/crates/futures-core-0.3.28:futures_core",
+        "//vendor_local_pkgs/crates/futures-util-0.3.28:futures_util",
+        "//vendor_local_pkgs/crates/http-0.2.9:http",
+        "//vendor_local_pkgs/crates/http-body-0.4.5:http_body",
+        "//vendor_local_pkgs/crates/http-range-header-0.3.0:http_range_header",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/tower-0.4.13:tower",
+        "//vendor_local_pkgs/crates/tower-layer-0.3.2:tower_layer",
+        "//vendor_local_pkgs/crates/tower-service-0.3.2:tower_service",
+        "//vendor_local_pkgs/crates/tracing-0.1.37:tracing",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tower-layer-0.3.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tower-layer-0.3.1/BUILD.bazel
deleted file mode 100644
index c0e6fba..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tower-layer-0.3.1/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tower_layer",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tower-layer-0.3.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tower-layer-0.3.2/BUILD.bazel
new file mode 100644
index 0000000..1c7d42e
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tower-layer-0.3.2/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tower_layer",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tower-layer",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.2",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tower-service-0.3.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tower-service-0.3.2/BUILD.bazel
index f5c0978..b4ce0f1 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/tower-service-0.3.2/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tower-service-0.3.2/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,60 @@
 
 rust_library(
     name = "tower_service",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tower-service",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    version = "0.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
+    version = "0.3.2",
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-0.1.35/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-0.1.35/BUILD.bazel
deleted file mode 100644
index 885046e..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tracing-0.1.35/BUILD.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tracing",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "attributes",
-        "default",
-        "log",
-        "std",
-        "tracing-attributes",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/tracing-attributes-0.1.22:tracing_attributes",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.35",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
-            "//vendor_local_pkgs/crates/log-0.4.17:log",
-            "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
-            "//vendor_local_pkgs/crates/tracing-core-0.1.28:tracing_core",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-0.1.37/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-0.1.37/BUILD.bazel
new file mode 100644
index 0000000..4d33100
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tracing-0.1.37/BUILD.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "attributes",
+        "default",
+        "log",
+        "std",
+        "tracing-attributes",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "//vendor_local_pkgs/crates/tracing-attributes-0.1.24:tracing_attributes",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.37",
+    deps = [
+        "//vendor_local_pkgs/crates/cfg-if-1.0.0:cfg_if",
+        "//vendor_local_pkgs/crates/log-0.4.19:log",
+        "//vendor_local_pkgs/crates/pin-project-lite-0.2.9:pin_project_lite",
+        "//vendor_local_pkgs/crates/tracing-core-0.1.31:tracing_core",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-attributes-0.1.22/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-attributes-0.1.22/BUILD.bazel
deleted file mode 100644
index 62af55e..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tracing-attributes-0.1.22/BUILD.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "tracing_attributes",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.22",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/proc-macro2-1.0.40:proc_macro2",
-            "//vendor_local_pkgs/crates/quote-1.0.20:quote",
-            "//vendor_local_pkgs/crates/syn-1.0.98:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-attributes-0.1.24/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-attributes-0.1.24/BUILD.bazel
new file mode 100644
index 0000000..4439c9a
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tracing-attributes-0.1.24/BUILD.bazel
@@ -0,0 +1,80 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tracing_attributes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-attributes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.24",
+    deps = [
+        "//vendor_local_pkgs/crates/proc-macro2-1.0.60:proc_macro2",
+        "//vendor_local_pkgs/crates/quote-1.0.28:quote",
+        "//vendor_local_pkgs/crates/syn-2.0.18:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-core-0.1.28/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-core-0.1.28/BUILD.bazel
deleted file mode 100644
index c77c36b..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tracing-core-0.1.28/BUILD.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tracing_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "once_cell",
-        "std",
-        "valuable",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.28",
-    deps = [
-    ] + select_with_or({
-        # cfg(tracing_unstable)
-        #
-        # No supported platform triples for cfg: 'cfg(tracing_unstable)'
-        # Skipped dependencies: [{"id":"valuable 0.1.0","target":"valuable"}]
-        #
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/once_cell-1.13.0:once_cell",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-core-0.1.31/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-core-0.1.31/BUILD.bazel
new file mode 100644
index 0000000..202784f
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tracing-core-0.1.31/BUILD.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "once_cell",
+        "std",
+        "valuable",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.1.31",
+    deps = [
+        "//vendor_local_pkgs/crates/once_cell-1.18.0:once_cell",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-log-0.1.3/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-log-0.1.3/BUILD.bazel
index 59a3135..cb2a2cb 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/tracing-log-0.1.3/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tracing-log-0.1.3/BUILD.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,70 +16,69 @@
 
 rust_library(
     name = "tracing_log",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "log-tracer",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tracing-log",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.1.3",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/lazy_static-1.4.0:lazy_static",
-            "//vendor_local_pkgs/crates/log-0.4.17:log",
-            "//vendor_local_pkgs/crates/tracing-core-0.1.28:tracing_core",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/lazy_static-1.4.0:lazy_static",
+        "//vendor_local_pkgs/crates/log-0.4.19:log",
+        "//vendor_local_pkgs/crates/tracing-core-0.1.31:tracing_core",
+    ],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-subscriber-0.3.15/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-subscriber-0.3.15/BUILD.bazel
deleted file mode 100644
index 2bd2af0..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/tracing-subscriber-0.3.15/BUILD.bazel
+++ /dev/null
@@ -1,107 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tracing_subscriber",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "ansi",
-        "ansi_term",
-        "default",
-        "fmt",
-        "registry",
-        "sharded-slab",
-        "smallvec",
-        "std",
-        "thread_local",
-        "tracing-log",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.15",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/ansi_term-0.12.1:ansi_term",
-            "//vendor_local_pkgs/crates/sharded-slab-0.1.4:sharded_slab",
-            "//vendor_local_pkgs/crates/smallvec-1.9.0:smallvec",
-            "//vendor_local_pkgs/crates/thread_local-1.1.4:thread_local",
-            "//vendor_local_pkgs/crates/tracing-core-0.1.28:tracing_core",
-            "//vendor_local_pkgs/crates/tracing-log-0.1.3:tracing_log",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/tracing-subscriber-0.3.17/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/tracing-subscriber-0.3.17/BUILD.bazel
new file mode 100644
index 0000000..3e17a72
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/tracing-subscriber-0.3.17/BUILD.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing_subscriber",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "ansi",
+        "default",
+        "fmt",
+        "nu-ansi-term",
+        "registry",
+        "sharded-slab",
+        "smallvec",
+        "std",
+        "thread_local",
+        "tracing-log",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-subscriber",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.17",
+    deps = [
+        "//vendor_local_pkgs/crates/nu-ansi-term-0.46.0:nu_ansi_term",
+        "//vendor_local_pkgs/crates/sharded-slab-0.1.4:sharded_slab",
+        "//vendor_local_pkgs/crates/smallvec-1.10.0:smallvec",
+        "//vendor_local_pkgs/crates/thread_local-1.1.7:thread_local",
+        "//vendor_local_pkgs/crates/tracing-core-0.1.31:tracing_core",
+        "//vendor_local_pkgs/crates/tracing-log-0.1.3:tracing_log",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/try-lock-0.2.3/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/try-lock-0.2.3/BUILD.bazel
deleted file mode 100644
index 174cafa..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/try-lock-0.2.3/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "try_lock",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/try-lock-0.2.4/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/try-lock-0.2.4/BUILD.bazel
new file mode 100644
index 0000000..f87145a
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/try-lock-0.2.4/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "try_lock",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=try-lock",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.2.4",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/unicode-ident-1.0.2/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/unicode-ident-1.0.2/BUILD.bazel
deleted file mode 100644
index 95a5dee..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/unicode-ident-1.0.2/BUILD.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
-# ])
-
-rust_library(
-    name = "unicode_ident",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/unicode-ident-1.0.9/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/unicode-ident-1.0.9/BUILD.bazel
new file mode 100644
index 0000000..e9a041a
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/unicode-ident-1.0.9/BUILD.bazel
@@ -0,0 +1,75 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# ])
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-ident",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "1.0.9",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/valuable-0.1.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/valuable-0.1.0/BUILD.bazel
index a44df92..203ad9e 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/valuable-0.1.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/valuable-0.1.0/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,149 +17,99 @@
 
 rust_library(
     name = "valuable",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "std",
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=valuable",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.1.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/valuable-0.1.0:build_script_build",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/valuable-0.1.0:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "valuable_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "std",
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=valuable",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.1.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "valuable_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/want-0.3.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/want-0.3.0/BUILD.bazel
deleted file mode 100644
index e07b82f..0000000
--- a/examples/crate_universe/vendor_local_pkgs/crates/want-0.3.0/BUILD.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_local_pkgs:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "want",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/log-0.4.17:log",
-            "//vendor_local_pkgs/crates/try-lock-0.2.3:try_lock",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/want-0.3.1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/want-0.3.1/BUILD.bazel
new file mode 100644
index 0000000..e99f31b
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/want-0.3.1/BUILD.bazel
@@ -0,0 +1,78 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "want",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=want",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.3.1",
+    deps = [
+        "//vendor_local_pkgs/crates/try-lock-0.2.4:try_lock",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/wasi-0.11.0+wasi-snapshot-preview1/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/wasi-0.11.0+wasi-snapshot-preview1/BUILD.bazel
new file mode 100644
index 0000000..d382810
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/wasi-0.11.0+wasi-snapshot-preview1/BUILD.bazel
@@ -0,0 +1,79 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "wasi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=wasi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.11.0+wasi-snapshot-preview1",
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/winapi-0.3.9/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/winapi-0.3.9/BUILD.bazel
index 2109ea2..844a15a 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/winapi-0.3.9/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/winapi-0.3.9/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,215 +17,117 @@
 
 rust_library(
     name = "winapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
-        "cfg",
         "consoleapi",
         "errhandlingapi",
-        "evntrace",
         "fileapi",
         "handleapi",
-        "in6addr",
-        "inaddr",
-        "ioapiset",
-        "minwinbase",
-        "minwindef",
-        "mstcpip",
-        "mswsock",
-        "namedpipeapi",
-        "ntdef",
-        "ntsecapi",
-        "ntstatus",
         "processenv",
-        "std",
-        "synchapi",
-        "threadpoollegacyapiset",
-        "winbase",
-        "windef",
-        "winerror",
-        "winioctl",
-        "winnt",
-        "winsock2",
-        "ws2def",
         "ws2ipdef",
         "ws2tcpip",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.3.9",
     deps = [
-    ] + select_with_or({
-        # i686-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
-        #
-        # x86_64-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
-        #
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/winapi-0.3.9:build_script_build",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/winapi-0.3.9:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
-        "cfg",
         "consoleapi",
         "errhandlingapi",
-        "evntrace",
         "fileapi",
         "handleapi",
-        "in6addr",
-        "inaddr",
-        "ioapiset",
-        "minwinbase",
-        "minwindef",
-        "mstcpip",
-        "mswsock",
-        "namedpipeapi",
-        "ntdef",
-        "ntsecapi",
-        "ntstatus",
         "processenv",
-        "std",
-        "synchapi",
-        "threadpoollegacyapiset",
-        "winbase",
-        "windef",
-        "winerror",
-        "winioctl",
-        "winnt",
-        "winsock2",
-        "ws2def",
         "ws2ipdef",
         "ws2tcpip",
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.3.9",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel
index ebb2951..aca5f7a 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/winapi-i686-pc-windows-gnu-0.4.0/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,99 @@
 
 rust_library(
     name = "winapi_i686_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/winapi-i686-pc-windows-gnu-0.4.0:build_script_build",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/winapi-i686-pc-windows-gnu-0.4.0:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-i686-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-i686-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel
index 5de7063..fe3b586 100644
--- a/examples/crate_universe/vendor_local_pkgs/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel
+++ b/examples/crate_universe/vendor_local_pkgs/crates/winapi-x86_64-pc-windows-gnu-0.4.0/BUILD.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_local_pkgs:crates_vendor
+#     bazel run @//vendor_local_pkgs:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,99 @@
 
 rust_library(
     name = "winapi_x86_64_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "//vendor_local_pkgs/crates/winapi-x86_64-pc-windows-gnu-0.4.0:build_script_build",
-        ],
-    }),
+        "//vendor_local_pkgs/crates/winapi-x86_64-pc-windows-gnu-0.4.0:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-x86_64-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-x86_64-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows-sys-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows-sys-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..def0708
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows-sys-0.48.0/BUILD.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_Networking",
+        "Win32_Networking_WinSock",
+        "Win32_Security",
+        "Win32_Security_Authorization",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Console",
+        "Win32_System_IO",
+        "Win32_System_Pipes",
+        "Win32_System_SystemServices",
+        "Win32_System_Threading",
+        "Win32_System_WindowsProgramming",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows-targets-0.48.0:windows_targets",
+    ],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows-targets-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows-targets-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..bbfeec7
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows-targets-0.48.0/BUILD.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_targets",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-targets",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows_aarch64_msvc-0.48.0:windows_aarch64_msvc",  # cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows_i686_msvc-0.48.0:windows_i686_msvc",  # cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/windows_i686_gnu-0.48.0:windows_i686_gnu",  # cfg(all(target_arch = "x86", target_env = "gnu", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "//vendor_local_pkgs/crates/windows_x86_64_msvc-0.48.0:windows_x86_64_msvc",  # cfg(all(target_arch = "x86_64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "//vendor_local_pkgs/crates/windows_x86_64_gnu-0.48.0:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows_aarch64_gnullvm-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows_aarch64_gnullvm-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..c565e25
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows_aarch64_gnullvm-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows_aarch64_gnullvm-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows_aarch64_msvc-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows_aarch64_msvc-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..98c65ec
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows_aarch64_msvc-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows_aarch64_msvc-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows_i686_gnu-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows_i686_gnu-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..6143d7e
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows_i686_gnu-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows_i686_gnu-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows_i686_msvc-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows_i686_msvc-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..20b11e8
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows_i686_msvc-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows_i686_msvc-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_gnu-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_gnu-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..223f68c
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_gnu-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows_x86_64_gnu-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_gnullvm-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_gnullvm-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..3121332
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_gnullvm-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows_x86_64_gnullvm-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_msvc-0.48.0/BUILD.bazel b/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_msvc-0.48.0/BUILD.bazel
new file mode 100644
index 0000000..56ce245
--- /dev/null
+++ b/examples/crate_universe/vendor_local_pkgs/crates/windows_x86_64_msvc-0.48.0/BUILD.bazel
@@ -0,0 +1,115 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_local_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    target_compatible_with = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [],
+        "@rules_rust//rust/platform:aarch64-linux-android": [],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
+        "@rules_rust//rust/platform:i686-apple-darwin": [],
+        "@rules_rust//rust/platform:i686-linux-android": [],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
+        "@rules_rust//rust/platform:wasm32-wasi": [],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [],
+        "@rules_rust//rust/platform:x86_64-linux-android": [],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    version = "0.48.0",
+    deps = [
+        "//vendor_local_pkgs/crates/windows_x86_64_msvc-0.48.0:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_local_pkgs/src/main.rs b/examples/crate_universe/vendor_local_pkgs/src/main.rs
index edde4b6..3812c30 100644
--- a/examples/crate_universe/vendor_local_pkgs/src/main.rs
+++ b/examples/crate_universe/vendor_local_pkgs/src/main.rs
@@ -137,7 +137,7 @@
         let response = client
             .request(
                 Request::builder()
-                    .uri(format!("http://{}", addr))
+                    .uri(format!("http://{addr}"))
                     .body(Body::empty())
                     .unwrap(),
             )
diff --git a/examples/crate_universe/vendor_remote_manifests/BUILD.bazel b/examples/crate_universe/vendor_remote_manifests/BUILD.bazel
index a0bad79..6802dd5 100644
--- a/examples/crate_universe/vendor_remote_manifests/BUILD.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/BUILD.bazel
@@ -1,10 +1,11 @@
-load("@crates_vendor_manifests//:defs.bzl", "aliases", "all_crate_deps")
+load("@cvm//:defs.bzl", "aliases", "all_crate_deps")
 load("@rules_rust//crate_universe:defs.bzl", "crates_vendor")
 load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
 
 crates_vendor(
-    name = "crates_vendor_manifests",
+    name = "crates_vendor",
     manifests = [":Cargo.toml"],
+    repository_name = "cvm",
 )
 
 rust_library(
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-0.3.3.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-0.3.3.bazel
deleted file mode 100644
index efbf54c..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-0.3.3.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "async_stream",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__async-stream-impl-0.3.3//:async_stream_impl",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__futures-core-0.3.21//:futures_core",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-0.3.5.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-0.3.5.bazel
new file mode 100644
index 0000000..35ec33d
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-0.3.5.bazel
@@ -0,0 +1,48 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "async_stream",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@cvm__async-stream-impl-0.3.5//:async_stream_impl",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-stream",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.5",
+    deps = [
+        "@cvm__futures-core-0.3.28//:futures_core",
+        "@cvm__pin-project-lite-0.2.9//:pin_project_lite",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.3.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.3.bazel
deleted file mode 100644
index 90144bf..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.3.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "async_stream_impl",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_manifests__quote-1.0.20//:quote",
-            "@crates_vendor_manifests__syn-1.0.98//:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.5.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.5.bazel
new file mode 100644
index 0000000..5054860
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.5.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "async_stream_impl",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-stream-impl",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.5",
+    deps = [
+        "@cvm__proc-macro2-1.0.60//:proc_macro2",
+        "@cvm__quote-1.0.28//:quote",
+        "@cvm__syn-2.0.18//:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.autocfg-1.1.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.autocfg-1.1.0.bazel
index ae085b2..9597d96 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.autocfg-1.1.0.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.autocfg-1.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "autocfg",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=autocfg",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bazel
index 9ebbbdd..6fb3dc3 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bazel
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -11,11 +11,9 @@
 exports_files(
     [
         "cargo-bazel.json",
-        "defs.bzl",
         "crates.bzl",
-    ] + glob([
-        "*.bazel",
-    ]),
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
 )
 
 filegroup(
@@ -29,20 +27,18 @@
 # Workspace Member Dependencies
 alias(
     name = "tempfile",
-    actual = "@crates_vendor_manifests__tempfile-3.3.0//:tempfile",
+    actual = "@cvm__tempfile-3.6.0//:tempfile",
     tags = ["manual"],
 )
 
 alias(
     name = "tokio",
-    actual = "@crates_vendor_manifests__tokio-1.20.0//:tokio",
+    actual = "@cvm__tokio-1.28.2//:tokio",
     tags = ["manual"],
 )
 
 alias(
     name = "tokio-test",
-    actual = "@crates_vendor_manifests__tokio-test-0.4.2//:tokio_test",
+    actual = "@cvm__tokio-test-0.4.2//:tokio_test",
     tags = ["manual"],
 )
-
-# Binaries
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bitflags-1.3.2.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bitflags-1.3.2.bazel
index a9511c1..9f18c13 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bitflags-1.3.2.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bitflags-1.3.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,29 @@
 
 rust_library(
     name = "bitflags",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=bitflags",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bytes-1.2.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bytes-1.2.0.bazel
deleted file mode 100644
index cdf271b..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bytes-1.2.0.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "bytes",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.2.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bytes-1.4.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bytes-1.4.0.bazel
new file mode 100644
index 0000000..dacbcea
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.bytes-1.4.0.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bytes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.cc-1.0.79.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.cc-1.0.79.bazel
new file mode 100644
index 0000000..8d8568b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.cc-1.0.79.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "cc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.79",
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.cfg-if-1.0.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.cfg-if-1.0.0.bazel
index a4c94bd..ff00758 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.cfg-if-1.0.0.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.cfg-if-1.0.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "cfg_if",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=cfg-if",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.0.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.errno-0.3.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.errno-0.3.1.bazel
new file mode 100644
index 0000000..d029335
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.errno-0.3.1.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "errno",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.1",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.errno-dragonfly-0.1.2.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.errno-dragonfly-0.1.2.bazel
new file mode 100644
index 0000000..d855b2a
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.errno-dragonfly-0.1.2.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "errno_dragonfly",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno-dragonfly",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    deps = [
+        "@cvm__errno-dragonfly-0.1.2//:build_script_build",
+        "@cvm__libc-0.2.146//:libc",
+    ],
+)
+
+cargo_build_script(
+    name = "errno-dragonfly_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno-dragonfly",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cvm__cc-1.0.79//:cc",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "errno-dragonfly_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.fastrand-1.7.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.fastrand-1.7.0.bazel
deleted file mode 100644
index cfda930..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.fastrand-1.7.0.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "fastrand",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.7.0",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_arch = "wasm32")
-        (
-            "@rules_rust//rust/platform:wasm32-unknown-unknown",
-            "@rules_rust//rust/platform:wasm32-wasi",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__instant-0.1.12//:instant",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.fastrand-1.9.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.fastrand-1.9.0.bazel
new file mode 100644
index 0000000..020b132
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.fastrand-1.9.0.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "fastrand",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=fastrand",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.0",
+    deps = select({
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cvm__instant-0.1.12//:instant",  # cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.futures-core-0.3.21.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.futures-core-0.3.21.bazel
deleted file mode 100644
index 04584b9..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.futures-core-0.3.21.bazel
+++ /dev/null
@@ -1,180 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__futures-core-0.3.21//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.futures-core-0.3.28.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.futures-core-0.3.28.bazel
new file mode 100644
index 0000000..5c84ce7
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.futures-core-0.3.28.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@cvm__futures-core-0.3.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.1.19.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.1.19.bazel
deleted file mode 100644
index bf75664..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.1.19.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "hermit_abi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.19",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.2.6.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.2.6.bazel
new file mode 100644
index 0000000..d521df9
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.2.6.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.6",
+    deps = [
+        "@cvm__libc-0.2.146//:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.3.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.3.1.bazel
new file mode 100644
index 0000000..4c6cc4f
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.hermit-abi-0.3.1.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.1",
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.instant-0.1.12.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.instant-0.1.12.bazel
index f6d4fd6..97716c8 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.instant-0.1.12.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.instant-0.1.12.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,29 @@
 
 rust_library(
     name = "instant",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=instant",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.1.12",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-        ],
-    }),
+        "@cvm__cfg-if-1.0.0//:cfg_if",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.io-lifetimes-1.0.11.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.io-lifetimes-1.0.11.bazel
new file mode 100644
index 0000000..2a36f53
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.io-lifetimes-1.0.11.bazel
@@ -0,0 +1,188 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "io_lifetimes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "close",
+        "hermit-abi",
+        "libc",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=io-lifetimes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.11",
+    deps = [
+        "@cvm__io-lifetimes-1.0.11//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "io-lifetimes_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "close",
+        "hermit-abi",
+        "libc",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=io-lifetimes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.11",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "io-lifetimes_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.libc-0.2.126.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.libc-0.2.126.bazel
deleted file mode 100644
index e9fa92d..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.libc-0.2.126.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.126",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__libc-0.2.126//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "libc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.2.126",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "libc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.libc-0.2.146.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.libc-0.2.146.bazel
new file mode 100644
index 0000000..a23614f
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.libc-0.2.146.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "extra_traits",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.146",
+    deps = [
+        "@cvm__libc-0.2.146//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "extra_traits",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.146",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.linux-raw-sys-0.3.8.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.linux-raw-sys-0.3.8.bazel
new file mode 100644
index 0000000..2b7aae2
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.linux-raw-sys-0.3.8.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "linux_raw_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "errno",
+        "general",
+        "ioctl",
+        "no_std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=linux-raw-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.8",
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.lock_api-0.4.10.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.lock_api-0.4.10.bazel
new file mode 100644
index 0000000..60fd1f3
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.lock_api-0.4.10.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.10",
+    deps = [
+        "@cvm__lock_api-0.4.10//:build_script_build",
+        "@cvm__scopeguard-1.1.0//:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "lock_api_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.10",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cvm__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "lock_api_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.lock_api-0.4.7.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.lock_api-0.4.7.bazel
deleted file mode 100644
index 774ff96..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.lock_api-0.4.7.bazel
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "lock_api",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__lock_api-0.4.7//:build_script_build",
-            "@crates_vendor_manifests__scopeguard-1.1.0//:scopeguard",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "lock_api_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__autocfg-1.1.0//:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "lock_api_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.log-0.4.17.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.log-0.4.17.bazel
deleted file mode 100644
index f9b030c..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.log-0.4.17.bazel
+++ /dev/null
@@ -1,175 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "log",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.17",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_manifests__log-0.4.17//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "log_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.17",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "log_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.memchr-2.5.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.memchr-2.5.0.bazel
deleted file mode 100644
index 08aff31..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.memchr-2.5.0.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Unlicense/MIT
-# ])
-
-rust_library(
-    name = "memchr",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.5.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__memchr-2.5.0//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "memchr_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "2.5.0",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "memchr_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.mio-0.8.4.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.mio-0.8.4.bazel
deleted file mode 100644
index 38b3e85..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.mio-0.8.4.bazel
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "mio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "net",
-        "os-ext",
-        "os-poll",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.8.4",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "wasi")
-        (
-            "@rules_rust//rust/platform:wasm32-wasi",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-            "@crates_vendor_manifests__wasi-0.11.0-wasi-snapshot-preview1//:wasi",
-
-            # Common Deps
-            "@crates_vendor_manifests__log-0.4.17//:log",
-        ],
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-
-            # Common Deps
-            "@crates_vendor_manifests__log-0.4.17//:log",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__windows-sys-0.36.1//:windows_sys",
-
-            # Common Deps
-            "@crates_vendor_manifests__log-0.4.17//:log",
-        ],
-        "//conditions:default": [
-            "@crates_vendor_manifests__log-0.4.17//:log",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.mio-0.8.8.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.mio-0.8.8.bazel
new file mode 100644
index 0000000..c9fc755
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.mio-0.8.8.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "net",
+        "os-ext",
+        "os-poll",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.8",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(target_os = "wasi")
+            "@cvm__wasi-0.11.0-wasi-snapshot-preview1//:wasi",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.num_cpus-1.13.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.num_cpus-1.13.1.bazel
deleted file mode 100644
index 720205c..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.num_cpus-1.13.1.bazel
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "num_cpus",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))
-        #
-        # No supported platform triples for cfg: 'cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))'
-        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
-        #
-        # cfg(not(windows))
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:riscv32imc-unknown-none-elf",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:wasm32-unknown-unknown",
-            "@rules_rust//rust/platform:wasm32-wasi",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.num_cpus-1.15.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.num_cpus-1.15.0.bazel
new file mode 100644
index 0000000..1f5450b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.num_cpus-1.15.0.bazel
@@ -0,0 +1,128 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=num_cpus",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.15.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.once_cell-1.13.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.once_cell-1.13.0.bazel
deleted file mode 100644
index fb857e5..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.once_cell-1.13.0.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "once_cell",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot-0.12.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot-0.12.1.bazel
index 6660ece..1b18f97 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot-0.12.1.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot-0.12.1.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,68 +16,33 @@
 
 rust_library(
     name = "parking_lot",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=parking_lot",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.12.1",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__lock_api-0.4.7//:lock_api",
-            "@crates_vendor_manifests__parking_lot_core-0.9.3//:parking_lot_core",
-        ],
-    }),
+        "@cvm__lock_api-0.4.10//:lock_api",
+        "@cvm__parking_lot_core-0.9.8//:parking_lot_core",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.3.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.3.bazel
deleted file mode 100644
index 2aff6ee..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.3.bazel
+++ /dev/null
@@ -1,224 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "parking_lot_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.9.3",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "redox")
-        #
-        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
-        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
-        #
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-
-            # Common Deps
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_manifests__parking_lot_core-0.9.3//:build_script_build",
-            "@crates_vendor_manifests__smallvec-1.9.0//:smallvec",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__windows-sys-0.36.1//:windows_sys",
-
-            # Common Deps
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_manifests__parking_lot_core-0.9.3//:build_script_build",
-            "@crates_vendor_manifests__smallvec-1.9.0//:smallvec",
-        ],
-        "//conditions:default": [
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_manifests__parking_lot_core-0.9.3//:build_script_build",
-            "@crates_vendor_manifests__smallvec-1.9.0//:smallvec",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "parking_lot_core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.9.3",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "parking_lot_core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.8.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.8.bazel
new file mode 100644
index 0000000..5325632
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.8.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.8",
+    deps = [
+        "@cvm__cfg-if-1.0.0//:cfg_if",
+        "@cvm__parking_lot_core-0.9.8//:build_script_build",
+        "@cvm__smallvec-1.10.0//:smallvec",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__windows-targets-0.48.0//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__windows-targets-0.48.0//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__windows-targets-0.48.0//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "parking_lot_core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.8",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "parking_lot_core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.pin-project-lite-0.2.9.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.pin-project-lite-0.2.9.bazel
index 36d2a9a..d90fc09 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.pin-project-lite-0.2.9.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.pin-project-lite-0.2.9.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "pin_project_lite",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=pin-project-lite",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.2.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.40.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.40.bazel
deleted file mode 100644
index c867257..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.40.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "proc_macro2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.40",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__proc-macro2-1.0.40//:build_script_build",
-            "@crates_vendor_manifests__unicode-ident-1.0.2//:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "proc-macro2_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.40",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "proc-macro2_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.60.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.60.bazel
new file mode 100644
index 0000000..cfb3c93
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.60.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.60",
+    deps = [
+        "@cvm__proc-macro2-1.0.60//:build_script_build",
+        "@cvm__unicode-ident-1.0.9//:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "proc-macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.60",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.quote-1.0.20.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.quote-1.0.20.bazel
deleted file mode 100644
index b262076..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.quote-1.0.20.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "quote",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.20",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_manifests__quote-1.0.20//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "quote_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.20",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "quote_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.quote-1.0.28.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.quote-1.0.28.bazel
new file mode 100644
index 0000000..76ac331
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.quote-1.0.28.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.28",
+    deps = [
+        "@cvm__proc-macro2-1.0.60//:proc_macro2",
+        "@cvm__quote-1.0.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "quote_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "quote_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.redox_syscall-0.2.13.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.redox_syscall-0.2.13.bazel
deleted file mode 100644
index 11acaea..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.redox_syscall-0.2.13.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "syscall",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.13",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__bitflags-1.3.2//:bitflags",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.redox_syscall-0.3.5.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.redox_syscall-0.3.5.bazel
new file mode 100644
index 0000000..a46d9c6
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.redox_syscall-0.3.5.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.5",
+    deps = [
+        "@cvm__bitflags-1.3.2//:bitflags",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.remove_dir_all-0.5.3.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.remove_dir_all-0.5.3.bazel
deleted file mode 100644
index c59565d..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.remove_dir_all-0.5.3.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "remove_dir_all",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.5.3",
-    deps = [
-    ] + select_with_or({
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__winapi-0.3.9//:winapi",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.rustix-0.37.20.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.rustix-0.37.20.bazel
new file mode 100644
index 0000000..aabbf8f
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.rustix-0.37.20.bazel
@@ -0,0 +1,312 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "rustix",
+    srcs = glob(["**/*.rs"]),
+    aliases = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-fuchsia": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-linux-android": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:armv7-linux-androideabi": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:i686-apple-darwin": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:i686-linux-android": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:i686-unknown-freebsd": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:wasm32-wasi": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-darwin": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-ios": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-fuchsia": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-linux-android": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(windows)
+        },
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "@rules_rust//rust/platform:x86_64-unknown-none": {
+            "@cvm__errno-0.3.1//:errno": "libc_errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        },
+        "//conditions:default": {},
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "fs",
+        "io-lifetimes",
+        "libc",
+        "std",
+        "use-libc-auxv",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.37.20",
+    deps = [
+        "@cvm__bitflags-1.3.2//:bitflags",
+        "@cvm__io-lifetimes-1.0.11//:io_lifetimes",
+        "@cvm__rustix-0.37.20//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(windows)
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(windows)
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(windows)
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@cvm__linux-raw-sys-0.3.8//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cvm__errno-0.3.1//:errno",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+            "@cvm__libc-0.2.146//:libc",  # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "rustix_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "fs",
+        "io-lifetimes",
+        "libc",
+        "std",
+        "use-libc-auxv",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.37.20",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "rustix_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.scopeguard-1.1.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.scopeguard-1.1.0.bazel
index 37e9633..7558cbf 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.scopeguard-1.1.0.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.scopeguard-1.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "scopeguard",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=scopeguard",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.0.bazel
deleted file mode 100644
index 8e9f077..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.0.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "signal_hook_registry",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.4.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.1.bazel
new file mode 100644
index 0000000..f739807
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.1.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "signal_hook_registry",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=signal-hook-registry",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.1",
+    deps = [
+        "@cvm__libc-0.2.146//:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.smallvec-1.10.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.smallvec-1.10.0.bazel
new file mode 100644
index 0000000..3d4dafb
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.smallvec-1.10.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "smallvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=smallvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.10.0",
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.smallvec-1.9.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.smallvec-1.9.0.bazel
deleted file mode 100644
index 0ad6bad..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.smallvec-1.9.0.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "smallvec",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.9.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.socket2-0.4.4.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.socket2-0.4.4.bazel
deleted file mode 100644
index 5279810..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.socket2-0.4.4.bazel
+++ /dev/null
@@ -1,128 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "socket2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "all",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.4",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-
-            # Common Deps
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__winapi-0.3.9//:winapi",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.socket2-0.4.9.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.socket2-0.4.9.bazel
new file mode 100644
index 0000000..2f3670b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.socket2-0.4.9.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "socket2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "all",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=socket2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.syn-1.0.98.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.syn-1.0.98.bazel
deleted file mode 100644
index b421ebc..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.syn-1.0.98.bazel
+++ /dev/null
@@ -1,195 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "syn",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit-mut",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.98",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_manifests__quote-1.0.20//:quote",
-            "@crates_vendor_manifests__syn-1.0.98//:build_script_build",
-            "@crates_vendor_manifests__unicode-ident-1.0.2//:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "syn_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit-mut",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.98",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "syn_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.syn-2.0.18.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.syn-2.0.18.bazel
new file mode 100644
index 0000000..24aa057
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.syn-2.0.18.bazel
@@ -0,0 +1,57 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.18",
+    deps = [
+        "@cvm__proc-macro2-1.0.60//:proc_macro2",
+        "@cvm__quote-1.0.28//:quote",
+        "@cvm__unicode-ident-1.0.9//:unicode_ident",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tempfile-3.3.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tempfile-3.3.0.bazel
deleted file mode 100644
index d08e331..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tempfile-3.3.0.bazel
+++ /dev/null
@@ -1,142 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "tempfile",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "3.3.0",
-    deps = [
-    ] + select_with_or({
-        # cfg(any(unix, target_os = "wasi"))
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:wasm32-wasi",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-
-            # Common Deps
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_manifests__fastrand-1.7.0//:fastrand",
-            "@crates_vendor_manifests__remove_dir_all-0.5.3//:remove_dir_all",
-        ],
-        # cfg(target_os = "redox")
-        #
-        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
-        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
-        #
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__winapi-0.3.9//:winapi",
-
-            # Common Deps
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_manifests__fastrand-1.7.0//:fastrand",
-            "@crates_vendor_manifests__remove_dir_all-0.5.3//:remove_dir_all",
-        ],
-        "//conditions:default": [
-            "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_manifests__fastrand-1.7.0//:fastrand",
-            "@crates_vendor_manifests__remove_dir_all-0.5.3//:remove_dir_all",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tempfile-3.6.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tempfile-3.6.0.bazel
new file mode 100644
index 0000000..7b150de
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tempfile-3.6.0.bazel
@@ -0,0 +1,163 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "tempfile",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tempfile",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.6.0",
+    deps = [
+        "@cvm__cfg-if-1.0.0//:cfg_if",
+        "@cvm__fastrand-1.9.0//:fastrand",
+        "@cvm__tempfile-3.6.0//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__rustix-0.37.20//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tempfile_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tempfile",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.6.0",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cvm__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tempfile_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-1.20.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-1.20.0.bazel
deleted file mode 100644
index eba2749..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-1.20.0.bazel
+++ /dev/null
@@ -1,290 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "bytes",
-        "default",
-        "fs",
-        "full",
-        "io-std",
-        "io-util",
-        "libc",
-        "macros",
-        "memchr",
-        "mio",
-        "net",
-        "num_cpus",
-        "once_cell",
-        "parking_lot",
-        "process",
-        "rt",
-        "rt-multi-thread",
-        "signal",
-        "signal-hook-registry",
-        "socket2",
-        "sync",
-        "test-util",
-        "time",
-        "tokio-macros",
-        "winapi",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__tokio-macros-1.8.0//:tokio_macros",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.20.0",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__libc-0.2.126//:libc",
-            "@crates_vendor_manifests__signal-hook-registry-1.4.0//:signal_hook_registry",
-
-            # Common Deps
-            "@crates_vendor_manifests__bytes-1.2.0//:bytes",
-            "@crates_vendor_manifests__memchr-2.5.0//:memchr",
-            "@crates_vendor_manifests__mio-0.8.4//:mio",
-            "@crates_vendor_manifests__num_cpus-1.13.1//:num_cpus",
-            "@crates_vendor_manifests__once_cell-1.13.0//:once_cell",
-            "@crates_vendor_manifests__parking_lot-0.12.1//:parking_lot",
-            "@crates_vendor_manifests__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_manifests__socket2-0.4.4//:socket2",
-            "@crates_vendor_manifests__tokio-1.20.0//:build_script_build",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__winapi-0.3.9//:winapi",
-
-            # Common Deps
-            "@crates_vendor_manifests__bytes-1.2.0//:bytes",
-            "@crates_vendor_manifests__memchr-2.5.0//:memchr",
-            "@crates_vendor_manifests__mio-0.8.4//:mio",
-            "@crates_vendor_manifests__num_cpus-1.13.1//:num_cpus",
-            "@crates_vendor_manifests__once_cell-1.13.0//:once_cell",
-            "@crates_vendor_manifests__parking_lot-0.12.1//:parking_lot",
-            "@crates_vendor_manifests__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_manifests__socket2-0.4.4//:socket2",
-            "@crates_vendor_manifests__tokio-1.20.0//:build_script_build",
-        ],
-        "//conditions:default": [
-            "@crates_vendor_manifests__bytes-1.2.0//:bytes",
-            "@crates_vendor_manifests__memchr-2.5.0//:memchr",
-            "@crates_vendor_manifests__mio-0.8.4//:mio",
-            "@crates_vendor_manifests__num_cpus-1.13.1//:num_cpus",
-            "@crates_vendor_manifests__once_cell-1.13.0//:once_cell",
-            "@crates_vendor_manifests__parking_lot-0.12.1//:parking_lot",
-            "@crates_vendor_manifests__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_manifests__socket2-0.4.4//:socket2",
-            "@crates_vendor_manifests__tokio-1.20.0//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "tokio_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "bytes",
-        "default",
-        "fs",
-        "full",
-        "io-std",
-        "io-util",
-        "libc",
-        "macros",
-        "memchr",
-        "mio",
-        "net",
-        "num_cpus",
-        "once_cell",
-        "parking_lot",
-        "process",
-        "rt",
-        "rt-multi-thread",
-        "signal",
-        "signal-hook-registry",
-        "socket2",
-        "sync",
-        "test-util",
-        "time",
-        "tokio-macros",
-        "winapi",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.20.0",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__autocfg-1.1.0//:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "tokio_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-1.28.2.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-1.28.2.bazel
new file mode 100644
index 0000000..f2d822e
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-1.28.2.bazel
@@ -0,0 +1,276 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "test-util",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@cvm__tokio-macros-2.1.0//:tokio_macros",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.28.2",
+    deps = [
+        "@cvm__bytes-1.4.0//:bytes",
+        "@cvm__mio-0.8.8//:mio",
+        "@cvm__num_cpus-1.15.0//:num_cpus",
+        "@cvm__parking_lot-0.12.1//:parking_lot",
+        "@cvm__pin-project-lite-0.2.9//:pin_project_lite",
+        "@cvm__tokio-1.28.2//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@cvm__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__libc-0.2.146//:libc",  # cfg(unix)
+            "@cvm__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@cvm__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tokio_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "test-util",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.28.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@cvm__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tokio_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-macros-1.8.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-macros-1.8.0.bazel
deleted file mode 100644
index fcdd24b..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-macros-1.8.0.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "tokio_macros",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.8.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_manifests__quote-1.0.20//:quote",
-            "@crates_vendor_manifests__syn-1.0.98//:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-macros-2.1.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-macros-2.1.0.bazel
new file mode 100644
index 0000000..006b3b3
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-macros-2.1.0.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tokio_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.1.0",
+    deps = [
+        "@cvm__proc-macro2-1.0.60//:proc_macro2",
+        "@cvm__quote-1.0.28//:quote",
+        "@cvm__syn-2.0.18//:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.14.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.14.bazel
new file mode 100644
index 0000000..90118d0
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.14.bazel
@@ -0,0 +1,50 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_stream",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "time",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-stream",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.14",
+    deps = [
+        "@cvm__futures-core-0.3.28//:futures_core",
+        "@cvm__pin-project-lite-0.2.9//:pin_project_lite",
+        "@cvm__tokio-1.28.2//:tokio",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.9.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.9.bazel
deleted file mode 100644
index cadbc4f..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.9.bazel
+++ /dev/null
@@ -1,95 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio_stream",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "time",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_manifests__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_manifests__tokio-1.20.0//:tokio",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-test-0.4.2.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-test-0.4.2.bazel
index 8c885f1..b534fd0 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-test-0.4.2.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.tokio-test-0.4.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,70 +16,33 @@
 
 rust_library(
     name = "tokio_test",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tokio-test",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.2",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__async-stream-0.3.3//:async_stream",
-            "@crates_vendor_manifests__bytes-1.2.0//:bytes",
-            "@crates_vendor_manifests__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_manifests__tokio-1.20.0//:tokio",
-            "@crates_vendor_manifests__tokio-stream-0.1.9//:tokio_stream",
-        ],
-    }),
+        "@cvm__async-stream-0.3.5//:async_stream",
+        "@cvm__bytes-1.4.0//:bytes",
+        "@cvm__futures-core-0.3.28//:futures_core",
+        "@cvm__tokio-1.28.2//:tokio",
+        "@cvm__tokio-stream-0.1.14//:tokio_stream",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.2.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.2.bazel
deleted file mode 100644
index 1a8fdc9..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.2.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
-# ])
-
-rust_library(
-    name = "unicode_ident",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.9.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.9.bazel
new file mode 100644
index 0000000..47f1ee7
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.9.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# ])
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-ident",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.9",
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
index 3aff937..fefb591 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,67 +16,30 @@
 
 rust_library(
     name = "wasi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=wasi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.11.0+wasi-snapshot-preview1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-0.3.9.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-0.3.9.bazel
index a9d5418..659a4dc 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-0.3.9.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-0.3.9.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,185 +17,75 @@
 
 rust_library(
     name = "winapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
-        "consoleapi",
-        "errhandlingapi",
-        "fileapi",
         "handleapi",
-        "minwindef",
-        "namedpipeapi",
-        "processthreadsapi",
-        "std",
-        "threadpoollegacyapiset",
-        "winbase",
-        "wincon",
-        "winerror",
-        "winnt",
         "ws2ipdef",
         "ws2tcpip",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.3.9",
     deps = [
-    ] + select_with_or({
-        # i686-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
-        #
-        # x86_64-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
-        #
-        "//conditions:default": [
-            "@crates_vendor_manifests__winapi-0.3.9//:build_script_build",
-        ],
-    }),
+        "@cvm__winapi-0.3.9//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
-        "consoleapi",
-        "errhandlingapi",
-        "fileapi",
         "handleapi",
-        "minwindef",
-        "namedpipeapi",
-        "processthreadsapi",
-        "std",
-        "threadpoollegacyapiset",
-        "winbase",
-        "wincon",
-        "winerror",
-        "winnt",
         "ws2ipdef",
         "ws2tcpip",
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.3.9",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
index c4c74c5..2f86e52 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,65 @@
 
 rust_library(
     name = "winapi_i686_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
-        ],
-    }),
+        "@cvm__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-i686-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-i686-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
index 6c8b94c..91438b1 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,65 @@
 
 rust_library(
     name = "winapi_x86_64_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
-        ],
-    }),
+        "@cvm__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-x86_64-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-x86_64-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-sys-0.36.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-sys-0.36.1.bazel
deleted file mode 100644
index f808f6a..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-sys-0.36.1.bazel
+++ /dev/null
@@ -1,162 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "windows_sys",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "Win32",
-        "Win32_Foundation",
-        "Win32_Networking",
-        "Win32_Networking_WinSock",
-        "Win32_Security",
-        "Win32_Storage",
-        "Win32_Storage_FileSystem",
-        "Win32_System",
-        "Win32_System_IO",
-        "Win32_System_LibraryLoader",
-        "Win32_System_Pipes",
-        "Win32_System_SystemServices",
-        "Win32_System_WindowsProgramming",
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.36.1",
-    deps = [
-    ] + select_with_or({
-        # aarch64-pc-windows-msvc
-        #
-        # No supported platform triples for cfg: 'aarch64-pc-windows-msvc'
-        # Skipped dependencies: [{"id":"windows_aarch64_msvc 0.36.1","target":"windows_aarch64_msvc"}]
-        #
-        # aarch64-uwp-windows-msvc
-        #
-        # No supported platform triples for cfg: 'aarch64-uwp-windows-msvc'
-        # Skipped dependencies: [{"id":"windows_aarch64_msvc 0.36.1","target":"windows_aarch64_msvc"}]
-        #
-        # i686-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"windows_i686_gnu 0.36.1","target":"windows_i686_gnu"}]
-        #
-        # i686-pc-windows-msvc
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__windows_i686_msvc-0.36.1//:windows_i686_msvc",
-
-            # Common Deps
-        ],
-        # i686-uwp-windows-gnu
-        #
-        # No supported platform triples for cfg: 'i686-uwp-windows-gnu'
-        # Skipped dependencies: [{"id":"windows_i686_gnu 0.36.1","target":"windows_i686_gnu"}]
-        #
-        # i686-uwp-windows-msvc
-        #
-        # No supported platform triples for cfg: 'i686-uwp-windows-msvc'
-        # Skipped dependencies: [{"id":"windows_i686_msvc 0.36.1","target":"windows_i686_msvc"}]
-        #
-        # x86_64-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"windows_x86_64_gnu 0.36.1","target":"windows_x86_64_gnu"}]
-        #
-        # x86_64-pc-windows-msvc
-        (
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_manifests__windows_x86_64_msvc-0.36.1//:windows_x86_64_msvc",
-
-            # Common Deps
-        ],
-        # x86_64-uwp-windows-gnu
-        #
-        # No supported platform triples for cfg: 'x86_64-uwp-windows-gnu'
-        # Skipped dependencies: [{"id":"windows_x86_64_gnu 0.36.1","target":"windows_x86_64_gnu"}]
-        #
-        # x86_64-uwp-windows-msvc
-        #
-        # No supported platform triples for cfg: 'x86_64-uwp-windows-msvc'
-        # Skipped dependencies: [{"id":"windows_x86_64_msvc 0.36.1","target":"windows_x86_64_msvc"}]
-        #
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-sys-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-sys-0.48.0.bazel
new file mode 100644
index 0000000..b8bde09
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-sys-0.48.0.bazel
@@ -0,0 +1,66 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_NetworkManagement",
+        "Win32_NetworkManagement_IpHelper",
+        "Win32_Networking",
+        "Win32_Networking_WinSock",
+        "Win32_Security",
+        "Win32_Security_Authorization",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Console",
+        "Win32_System_Diagnostics",
+        "Win32_System_Diagnostics_Debug",
+        "Win32_System_IO",
+        "Win32_System_Pipes",
+        "Win32_System_SystemServices",
+        "Win32_System_Threading",
+        "Win32_System_WindowsProgramming",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows-targets-0.48.0//:windows_targets",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-targets-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-targets-0.48.0.bazel
new file mode 100644
index 0000000..edc4166
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows-targets-0.48.0.bazel
@@ -0,0 +1,59 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_targets",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-targets",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@cvm__windows_aarch64_msvc-0.48.0//:windows_aarch64_msvc",  # cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@cvm__windows_i686_msvc-0.48.0//:windows_i686_msvc",  # cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@cvm__windows_i686_gnu-0.48.0//:windows_i686_gnu",  # cfg(all(target_arch = "x86", target_env = "gnu", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@cvm__windows_x86_64_msvc-0.48.0//:windows_x86_64_msvc",  # cfg(all(target_arch = "x86_64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@cvm__windows_x86_64_gnu-0.48.0//:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
new file mode 100644
index 0000000..8a6c1ee
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows_aarch64_gnullvm-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.36.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.36.1.bazel
deleted file mode 100644
index a67128f..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.36.1.bazel
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "windows_aarch64_msvc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.36.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__windows_aarch64_msvc-0.36.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "windows_aarch64_msvc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.36.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "windows_aarch64_msvc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
new file mode 100644
index 0000000..aa7f2f4
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows_aarch64_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.36.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.36.1.bazel
deleted file mode 100644
index e349c26..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.36.1.bazel
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "windows_i686_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.36.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__windows_i686_gnu-0.36.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "windows_i686_gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.36.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "windows_i686_gnu_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.48.0.bazel
new file mode 100644
index 0000000..82e8fde
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows_i686_gnu-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.36.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.36.1.bazel
deleted file mode 100644
index 6f42fc9..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.36.1.bazel
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "windows_i686_msvc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.36.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__windows_i686_msvc-0.36.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "windows_i686_msvc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.36.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "windows_i686_msvc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.48.0.bazel
new file mode 100644
index 0000000..3640a0e
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows_i686_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.36.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.36.1.bazel
deleted file mode 100644
index 332f53f..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.36.1.bazel
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "windows_x86_64_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.36.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__windows_x86_64_gnu-0.36.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "windows_x86_64_gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.36.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "windows_x86_64_gnu_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
new file mode 100644
index 0000000..8271468
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows_x86_64_gnu-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
new file mode 100644
index 0000000..dc0e0fd
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows_x86_64_gnullvm-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.36.1.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.36.1.bazel
deleted file mode 100644
index 4775c73..0000000
--- a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.36.1.bazel
+++ /dev/null
@@ -1,174 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "windows_x86_64_msvc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.36.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_manifests__windows_x86_64_msvc-0.36.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "windows_x86_64_msvc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.36.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "windows_x86_64_msvc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
new file mode 100644
index 0000000..9ca3b0d
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@cvm__windows_x86_64_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/crates.bzl b/examples/crate_universe/vendor_remote_manifests/crates/crates.bzl
index e9fa4c9..45718e7 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/crates.bzl
+++ b/examples/crate_universe/vendor_remote_manifests/crates/crates.bzl
@@ -17,7 +17,7 @@
 def crate_repositories():
     maybe(
         crates_vendor_remote_repository,
-        name = "crates_vendor_manifests",
+        name = "cvm",
         build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.bazel"),
         defs_module = Label("@examples//vendor_remote_manifests/crates:defs.bzl"),
     )
diff --git a/examples/crate_universe/vendor_remote_manifests/crates/defs.bzl b/examples/crate_universe/vendor_remote_manifests/crates/defs.bzl
index a3f0480..1e13e20 100644
--- a/examples/crate_universe/vendor_remote_manifests/crates/defs.bzl
+++ b/examples/crate_universe/vendor_remote_manifests/crates/defs.bzl
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_manifests:crates_vendor_manifests
+#     bazel run @//vendor_remote_manifests:crates_vendor
 ###############################################################################
 """
 # `crates_repository` API
@@ -37,7 +37,7 @@
         # name of the workspace this file is defined in.
         "workspace_member_package": {
 
-            # Not all dependnecies are supported for all platforms.
+            # Not all dependencies are supported for all platforms.
             # the condition key is the condition required to be true
             # on the host platform.
             "condition": {
@@ -153,7 +153,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -222,7 +222,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -291,7 +291,7 @@
 _NORMAL_DEPENDENCIES = {
     "vendor_remote_manifests": {
         _COMMON_CONDITION: {
-            "tokio": "@crates_vendor_manifests__tokio-1.20.0//:tokio",
+            "tokio": "@cvm__tokio-1.28.2//:tokio",
         },
     },
 }
@@ -306,8 +306,8 @@
 _NORMAL_DEV_DEPENDENCIES = {
     "vendor_remote_manifests": {
         _COMMON_CONDITION: {
-            "tempfile": "@crates_vendor_manifests__tempfile-3.3.0//:tempfile",
-            "tokio-test": "@crates_vendor_manifests__tokio-test-0.4.2//:tokio_test",
+            "tempfile": "@cvm__tempfile-3.6.0//:tempfile",
+            "tokio-test": "@cvm__tokio-test-0.4.2//:tokio_test",
         },
     },
 }
@@ -362,24 +362,30 @@
 }
 
 _CONDITIONS = {
-    "aarch64-pc-windows-msvc": [],
-    "aarch64-uwp-windows-msvc": [],
     "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
-    "cfg(any(unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(target_arch = \"wasm32\")": ["wasm32-unknown-unknown", "wasm32-wasi"],
+    "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["aarch64-linux-android", "armv7-linux-androideabi", "i686-linux-android", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-linux-android"],
+    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-unknown-linux-gnueabi", "i686-unknown-linux-gnu", "x86_64-unknown-linux-gnu"],
+    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "armv7-linux-androideabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "thumbv7em-none-eabi", "thumbv8m.main-none-eabi", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-none"],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["aarch64-pc-windows-msvc"],
+    "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": ["wasm32-unknown-unknown"],
+    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["i686-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["i686-pc-windows-msvc"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["x86_64-pc-windows-msvc"],
+    "cfg(any(unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "thumbv7em-none-eabi", "thumbv8m.main-none-eabi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu", "x86_64-unknown-none"],
+    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "thumbv7em-none-eabi", "thumbv8m.main-none-eabi", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu", "x86_64-unknown-none"],
+    "cfg(target_os = \"dragonfly\")": [],
+    "cfg(target_os = \"hermit\")": [],
     "cfg(target_os = \"redox\")": [],
     "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
-    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
     "i686-pc-windows-gnu": [],
-    "i686-pc-windows-msvc": ["i686-pc-windows-msvc"],
-    "i686-uwp-windows-gnu": [],
-    "i686-uwp-windows-msvc": [],
     "x86_64-pc-windows-gnu": [],
-    "x86_64-pc-windows-msvc": ["x86_64-pc-windows-msvc"],
-    "x86_64-uwp-windows-gnu": [],
-    "x86_64-uwp-windows-msvc": [],
 }
 
 ###############################################################################
@@ -388,27 +394,27 @@
     """A macro for defining repositories for all generated crates"""
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__async-stream-0.3.3",
-        sha256 = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e",
+        name = "cvm__async-stream-0.3.5",
+        sha256 = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/async-stream/0.3.3/download"],
-        strip_prefix = "async-stream-0.3.3",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.async-stream-0.3.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/async-stream/0.3.5/download"],
+        strip_prefix = "async-stream-0.3.5",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.async-stream-0.3.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__async-stream-impl-0.3.3",
-        sha256 = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27",
+        name = "cvm__async-stream-impl-0.3.5",
+        sha256 = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/async-stream-impl/0.3.3/download"],
-        strip_prefix = "async-stream-impl-0.3.3",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.async-stream-impl-0.3.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/async-stream-impl/0.3.5/download"],
+        strip_prefix = "async-stream-impl-0.3.5",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.async-stream-impl-0.3.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__autocfg-1.1.0",
+        name = "cvm__autocfg-1.1.0",
         sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"],
@@ -418,7 +424,7 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__bitflags-1.3.2",
+        name = "cvm__bitflags-1.3.2",
         sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
@@ -428,17 +434,27 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__bytes-1.2.0",
-        sha256 = "f0b3de4a0c5e67e16066a0715723abd91edc2f9001d09c46e1dca929351e130e",
+        name = "cvm__bytes-1.4.0",
+        sha256 = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/bytes/1.2.0/download"],
-        strip_prefix = "bytes-1.2.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.bytes-1.2.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/bytes/1.4.0/download"],
+        strip_prefix = "bytes-1.4.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.bytes-1.4.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__cfg-if-1.0.0",
+        name = "cvm__cc-1.0.79",
+        sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cc/1.0.79/download"],
+        strip_prefix = "cc-1.0.79",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.cc-1.0.79.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cvm__cfg-if-1.0.0",
         sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"],
@@ -448,37 +464,67 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__fastrand-1.7.0",
-        sha256 = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf",
+        name = "cvm__errno-0.3.1",
+        sha256 = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/fastrand/1.7.0/download"],
-        strip_prefix = "fastrand-1.7.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.fastrand-1.7.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/errno/0.3.1/download"],
+        strip_prefix = "errno-0.3.1",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.errno-0.3.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__futures-core-0.3.21",
-        sha256 = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3",
+        name = "cvm__errno-dragonfly-0.1.2",
+        sha256 = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/futures-core/0.3.21/download"],
-        strip_prefix = "futures-core-0.3.21",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.futures-core-0.3.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download"],
+        strip_prefix = "errno-dragonfly-0.1.2",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.errno-dragonfly-0.1.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__hermit-abi-0.1.19",
-        sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33",
+        name = "cvm__fastrand-1.9.0",
+        sha256 = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.1.19/download"],
-        strip_prefix = "hermit-abi-0.1.19",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.hermit-abi-0.1.19.bazel"),
+        urls = ["https://crates.io/api/v1/crates/fastrand/1.9.0/download"],
+        strip_prefix = "fastrand-1.9.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.fastrand-1.9.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__instant-0.1.12",
+        name = "cvm__futures-core-0.3.28",
+        sha256 = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-core/0.3.28/download"],
+        strip_prefix = "futures-core-0.3.28",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.futures-core-0.3.28.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cvm__hermit-abi-0.2.6",
+        sha256 = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.2.6/download"],
+        strip_prefix = "hermit-abi-0.2.6",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.hermit-abi-0.2.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cvm__hermit-abi-0.3.1",
+        sha256 = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.3.1/download"],
+        strip_prefix = "hermit-abi-0.3.1",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.hermit-abi-0.3.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cvm__instant-0.1.12",
         sha256 = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/instant/0.1.12/download"],
@@ -488,77 +534,67 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__libc-0.2.126",
-        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+        name = "cvm__io-lifetimes-1.0.11",
+        sha256 = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
-        strip_prefix = "libc-0.2.126",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.libc-0.2.126.bazel"),
+        urls = ["https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download"],
+        strip_prefix = "io-lifetimes-1.0.11",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.io-lifetimes-1.0.11.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__lock_api-0.4.7",
-        sha256 = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53",
+        name = "cvm__libc-0.2.146",
+        sha256 = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.7/download"],
-        strip_prefix = "lock_api-0.4.7",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.lock_api-0.4.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.146/download"],
+        strip_prefix = "libc-0.2.146",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.libc-0.2.146.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__log-0.4.17",
-        sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
+        name = "cvm__linux-raw-sys-0.3.8",
+        sha256 = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
-        strip_prefix = "log-0.4.17",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.log-0.4.17.bazel"),
+        urls = ["https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download"],
+        strip_prefix = "linux-raw-sys-0.3.8",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.linux-raw-sys-0.3.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__memchr-2.5.0",
-        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
+        name = "cvm__lock_api-0.4.10",
+        sha256 = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
-        strip_prefix = "memchr-2.5.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.memchr-2.5.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.10/download"],
+        strip_prefix = "lock_api-0.4.10",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.lock_api-0.4.10.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__mio-0.8.4",
-        sha256 = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf",
+        name = "cvm__mio-0.8.8",
+        sha256 = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/mio/0.8.4/download"],
-        strip_prefix = "mio-0.8.4",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.mio-0.8.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/mio/0.8.8/download"],
+        strip_prefix = "mio-0.8.8",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.mio-0.8.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__num_cpus-1.13.1",
-        sha256 = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1",
+        name = "cvm__num_cpus-1.15.0",
+        sha256 = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/num_cpus/1.13.1/download"],
-        strip_prefix = "num_cpus-1.13.1",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.num_cpus-1.13.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/num_cpus/1.15.0/download"],
+        strip_prefix = "num_cpus-1.15.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.num_cpus-1.15.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__once_cell-1.13.0",
-        sha256 = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/once_cell/1.13.0/download"],
-        strip_prefix = "once_cell-1.13.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.once_cell-1.13.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crates_vendor_manifests__parking_lot-0.12.1",
+        name = "cvm__parking_lot-0.12.1",
         sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/parking_lot/0.12.1/download"],
@@ -568,17 +604,17 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__parking_lot_core-0.9.3",
-        sha256 = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929",
+        name = "cvm__parking_lot_core-0.9.8",
+        sha256 = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download"],
-        strip_prefix = "parking_lot_core-0.9.3",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.parking_lot_core-0.9.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.8/download"],
+        strip_prefix = "parking_lot_core-0.9.8",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.parking_lot_core-0.9.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__pin-project-lite-0.2.9",
+        name = "cvm__pin-project-lite-0.2.9",
         sha256 = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download"],
@@ -588,47 +624,47 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__proc-macro2-1.0.40",
-        sha256 = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7",
+        name = "cvm__proc-macro2-1.0.60",
+        sha256 = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.40/download"],
-        strip_prefix = "proc-macro2-1.0.40",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.proc-macro2-1.0.40.bazel"),
+        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.60/download"],
+        strip_prefix = "proc-macro2-1.0.60",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.proc-macro2-1.0.60.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__quote-1.0.20",
-        sha256 = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804",
+        name = "cvm__quote-1.0.28",
+        sha256 = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/quote/1.0.20/download"],
-        strip_prefix = "quote-1.0.20",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.quote-1.0.20.bazel"),
+        urls = ["https://crates.io/api/v1/crates/quote/1.0.28/download"],
+        strip_prefix = "quote-1.0.28",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.quote-1.0.28.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__redox_syscall-0.2.13",
-        sha256 = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42",
+        name = "cvm__redox_syscall-0.3.5",
+        sha256 = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.2.13/download"],
-        strip_prefix = "redox_syscall-0.2.13",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.redox_syscall-0.2.13.bazel"),
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.3.5/download"],
+        strip_prefix = "redox_syscall-0.3.5",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.redox_syscall-0.3.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__remove_dir_all-0.5.3",
-        sha256 = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7",
+        name = "cvm__rustix-0.37.20",
+        sha256 = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/remove_dir_all/0.5.3/download"],
-        strip_prefix = "remove_dir_all-0.5.3",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.remove_dir_all-0.5.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/rustix/0.37.20/download"],
+        strip_prefix = "rustix-0.37.20",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.rustix-0.37.20.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__scopeguard-1.1.0",
+        name = "cvm__scopeguard-1.1.0",
         sha256 = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/scopeguard/1.1.0/download"],
@@ -638,87 +674,87 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__signal-hook-registry-1.4.0",
-        sha256 = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0",
+        name = "cvm__signal-hook-registry-1.4.1",
+        sha256 = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download"],
-        strip_prefix = "signal-hook-registry-1.4.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.signal-hook-registry-1.4.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download"],
+        strip_prefix = "signal-hook-registry-1.4.1",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.signal-hook-registry-1.4.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__smallvec-1.9.0",
-        sha256 = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1",
+        name = "cvm__smallvec-1.10.0",
+        sha256 = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/smallvec/1.9.0/download"],
-        strip_prefix = "smallvec-1.9.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.smallvec-1.9.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/smallvec/1.10.0/download"],
+        strip_prefix = "smallvec-1.10.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.smallvec-1.10.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__socket2-0.4.4",
-        sha256 = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0",
+        name = "cvm__socket2-0.4.9",
+        sha256 = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/socket2/0.4.4/download"],
-        strip_prefix = "socket2-0.4.4",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.socket2-0.4.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/socket2/0.4.9/download"],
+        strip_prefix = "socket2-0.4.9",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.socket2-0.4.9.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__syn-1.0.98",
-        sha256 = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd",
+        name = "cvm__syn-2.0.18",
+        sha256 = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/syn/1.0.98/download"],
-        strip_prefix = "syn-1.0.98",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.syn-1.0.98.bazel"),
+        urls = ["https://crates.io/api/v1/crates/syn/2.0.18/download"],
+        strip_prefix = "syn-2.0.18",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.syn-2.0.18.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__tempfile-3.3.0",
-        sha256 = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4",
+        name = "cvm__tempfile-3.6.0",
+        sha256 = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tempfile/3.3.0/download"],
-        strip_prefix = "tempfile-3.3.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tempfile-3.3.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tempfile/3.6.0/download"],
+        strip_prefix = "tempfile-3.6.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tempfile-3.6.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__tokio-1.20.0",
-        sha256 = "57aec3cfa4c296db7255446efb4928a6be304b431a806216105542a67b6ca82e",
+        name = "cvm__tokio-1.28.2",
+        sha256 = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tokio/1.20.0/download"],
-        strip_prefix = "tokio-1.20.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tokio-1.20.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tokio/1.28.2/download"],
+        strip_prefix = "tokio-1.28.2",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tokio-1.28.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__tokio-macros-1.8.0",
-        sha256 = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484",
+        name = "cvm__tokio-macros-2.1.0",
+        sha256 = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tokio-macros/1.8.0/download"],
-        strip_prefix = "tokio-macros-1.8.0",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tokio-macros-1.8.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tokio-macros/2.1.0/download"],
+        strip_prefix = "tokio-macros-2.1.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tokio-macros-2.1.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__tokio-stream-0.1.9",
-        sha256 = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9",
+        name = "cvm__tokio-stream-0.1.14",
+        sha256 = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tokio-stream/0.1.9/download"],
-        strip_prefix = "tokio-stream-0.1.9",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tokio-stream-0.1.9.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tokio-stream/0.1.14/download"],
+        strip_prefix = "tokio-stream-0.1.14",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.tokio-stream-0.1.14.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__tokio-test-0.4.2",
+        name = "cvm__tokio-test-0.4.2",
         sha256 = "53474327ae5e166530d17f2d956afcb4f8a004de581b3cae10f12006bc8163e3",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/tokio-test/0.4.2/download"],
@@ -728,17 +764,17 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__unicode-ident-1.0.2",
-        sha256 = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7",
+        name = "cvm__unicode-ident-1.0.9",
+        sha256 = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.2/download"],
-        strip_prefix = "unicode-ident-1.0.2",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.unicode-ident-1.0.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.9/download"],
+        strip_prefix = "unicode-ident-1.0.9",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.unicode-ident-1.0.9.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__wasi-0.11.0-wasi-snapshot-preview1",
+        name = "cvm__wasi-0.11.0-wasi-snapshot-preview1",
         sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
@@ -748,7 +784,7 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__winapi-0.3.9",
+        name = "cvm__winapi-0.3.9",
         sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
@@ -758,7 +794,7 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__winapi-i686-pc-windows-gnu-0.4.0",
+        name = "cvm__winapi-i686-pc-windows-gnu-0.4.0",
         sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
@@ -768,7 +804,7 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__winapi-x86_64-pc-windows-gnu-0.4.0",
+        name = "cvm__winapi-x86_64-pc-windows-gnu-0.4.0",
         sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
         type = "tar.gz",
         urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
@@ -778,60 +814,90 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__windows-sys-0.36.1",
-        sha256 = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2",
+        name = "cvm__windows-sys-0.48.0",
+        sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/windows-sys/0.36.1/download"],
-        strip_prefix = "windows-sys-0.36.1",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows-sys-0.36.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/windows-sys/0.48.0/download"],
+        strip_prefix = "windows-sys-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows-sys-0.48.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__windows_aarch64_msvc-0.36.1",
-        sha256 = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47",
+        name = "cvm__windows-targets-0.48.0",
+        sha256 = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download"],
-        strip_prefix = "windows_aarch64_msvc-0.36.1",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_aarch64_msvc-0.36.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/windows-targets/0.48.0/download"],
+        strip_prefix = "windows-targets-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows-targets-0.48.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__windows_i686_gnu-0.36.1",
-        sha256 = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6",
+        name = "cvm__windows_aarch64_gnullvm-0.48.0",
+        sha256 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download"],
-        strip_prefix = "windows_i686_gnu-0.36.1",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_i686_gnu-0.36.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download"],
+        strip_prefix = "windows_aarch64_gnullvm-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__windows_i686_msvc-0.36.1",
-        sha256 = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024",
+        name = "cvm__windows_aarch64_msvc-0.48.0",
+        sha256 = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download"],
-        strip_prefix = "windows_i686_msvc-0.36.1",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_i686_msvc-0.36.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download"],
+        strip_prefix = "windows_aarch64_msvc-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__windows_x86_64_gnu-0.36.1",
-        sha256 = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1",
+        name = "cvm__windows_i686_gnu-0.48.0",
+        sha256 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download"],
-        strip_prefix = "windows_x86_64_gnu-0.36.1",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_x86_64_gnu-0.36.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download"],
+        strip_prefix = "windows_i686_gnu-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_i686_gnu-0.48.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_manifests__windows_x86_64_msvc-0.36.1",
-        sha256 = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680",
+        name = "cvm__windows_i686_msvc-0.48.0",
+        sha256 = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download"],
-        strip_prefix = "windows_x86_64_msvc-0.36.1",
-        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_x86_64_msvc-0.36.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download"],
+        strip_prefix = "windows_i686_msvc-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_i686_msvc-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cvm__windows_x86_64_gnu-0.48.0",
+        sha256 = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download"],
+        strip_prefix = "windows_x86_64_gnu-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cvm__windows_x86_64_gnullvm-0.48.0",
+        sha256 = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download"],
+        strip_prefix = "windows_x86_64_gnullvm-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "cvm__windows_x86_64_msvc-0.48.0",
+        sha256 = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download"],
+        strip_prefix = "windows_x86_64_msvc-0.48.0",
+        build_file = Label("@examples//vendor_remote_manifests/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel"),
     )
diff --git a/examples/crate_universe/vendor_remote_pkgs/BUILD.bazel b/examples/crate_universe/vendor_remote_pkgs/BUILD.bazel
index 387609c..63d12f4 100644
--- a/examples/crate_universe/vendor_remote_pkgs/BUILD.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/BUILD.bazel
@@ -1,8 +1,8 @@
-load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_vendor")
+load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_vendor", "render_config")
 load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_test")
 
 crates_vendor(
-    name = "crates_vendor_pkgs",
+    name = "crates_vendor",
     annotations = {
         "axum": [crate.annotation(
             compile_data_glob = ["**/*.md"],
@@ -15,7 +15,7 @@
         ),
         "hyper": crate.spec(
             features = ["full"],
-            version = "0.14",
+            version = "0.14.22",
         ),
         "mime": crate.spec(
             version = "0.3",
@@ -23,12 +23,15 @@
         "serde_json": crate.spec(
             version = "1.0",
         ),
-        # TODO: This is pinned due to a build failure introduced by 1.17
-        # bringing in windows-sys and introduces linker errors.
-        # https://github.com/abrisco/cargo-bazel/issues/173
+        # TODO: This dependency is added and pinned forward due to the
+        # following issue: https://github.com/hyperium/hyper/issues/3038
+        "socket2": crate.spec(
+            features = ["all"],
+            version = "0.4.7",
+        ),
         "tokio": crate.spec(
             features = ["full"],
-            version = "=1.16.1",
+            version = "1.26.0",
         ),
         "tower": crate.spec(
             features = ["util"],
@@ -45,6 +48,12 @@
             version = "0.3",
         ),
     },
+    # Demonstrate that `crates_vendor` can accept a render_config. To regen this target, simply
+    # navigate to this directory and run `bazel run //vendor_remote_pkgs:crates_vendor_pkgs`.
+    render_config = render_config(
+        regen_command = "See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel",
+    ),
+    repository_name = "crates_vendor_pkgs",
 )
 
 rust_binary(
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ansi_term-0.12.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ansi_term-0.12.1.bazel
deleted file mode 100644
index 68a4670..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ansi_term-0.12.1.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "ansi_term",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.12.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "windows")
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.56.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.56.bazel
deleted file mode 100644
index 3598f0c..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.56.bazel
+++ /dev/null
@@ -1,177 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_proc_macro(
-    name = "async_trait",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.56",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__async-trait-0.1.56//:build_script_build",
-            "@crates_vendor_pkgs__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_pkgs__quote-1.0.20//:quote",
-            "@crates_vendor_pkgs__syn-1.0.98//:syn",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "async-trait_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.1.56",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "async-trait_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.68.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.68.bazel
new file mode 100644
index 0000000..5843ac5
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.68.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_proc_macro(
+    name = "async_trait",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-trait",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.68",
+    deps = [
+        "@crates_vendor_pkgs__async-trait-0.1.68//:build_script_build",
+        "@crates_vendor_pkgs__proc-macro2-1.0.60//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.28//:quote",
+        "@crates_vendor_pkgs__syn-2.0.18//:syn",
+    ],
+)
+
+cargo_build_script(
+    name = "async-trait_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-trait",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.68",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "async-trait_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.autocfg-1.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.autocfg-1.1.0.bazel
index 7c30696..9ca746f 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.autocfg-1.1.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.autocfg-1.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "autocfg",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=autocfg",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-0.4.8.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-0.4.8.bazel
index fe42fc5..f380dd0 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-0.4.8.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-0.4.8.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,32 +16,20 @@
 
 rust_library(
     name = "axum",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = [
             "**",
             "**/*.md",
         ],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "http1",
@@ -60,61 +38,40 @@
         "tower-log",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
     proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__async-trait-0.1.56//:async_trait",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
+        "@crates_vendor_pkgs__async-trait-0.1.68//:async_trait",
     ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=axum",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.8",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__axum-core-0.1.2//:axum_core",
-            "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__futures-util-0.3.21//:futures_util",
-            "@crates_vendor_pkgs__http-0.2.8//:http",
-            "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
-            "@crates_vendor_pkgs__hyper-0.14.20//:hyper",
-            "@crates_vendor_pkgs__matchit-0.4.6//:matchit",
-            "@crates_vendor_pkgs__memchr-2.5.0//:memchr",
-            "@crates_vendor_pkgs__mime-0.3.16//:mime",
-            "@crates_vendor_pkgs__percent-encoding-2.1.0//:percent_encoding",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_pkgs__serde-1.0.140//:serde",
-            "@crates_vendor_pkgs__serde_json-1.0.82//:serde_json",
-            "@crates_vendor_pkgs__serde_urlencoded-0.7.1//:serde_urlencoded",
-            "@crates_vendor_pkgs__sync_wrapper-0.1.1//:sync_wrapper",
-            "@crates_vendor_pkgs__tokio-1.16.1//:tokio",
-            "@crates_vendor_pkgs__tower-0.4.13//:tower",
-            "@crates_vendor_pkgs__tower-http-0.2.5//:tower_http",
-            "@crates_vendor_pkgs__tower-layer-0.3.1//:tower_layer",
-            "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
-        ],
-    }),
+        "@crates_vendor_pkgs__axum-core-0.1.2//:axum_core",
+        "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__hyper-0.14.26//:hyper",
+        "@crates_vendor_pkgs__matchit-0.4.6//:matchit",
+        "@crates_vendor_pkgs__memchr-2.5.0//:memchr",
+        "@crates_vendor_pkgs__mime-0.3.17//:mime",
+        "@crates_vendor_pkgs__percent-encoding-2.3.0//:percent_encoding",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__serde-1.0.164//:serde",
+        "@crates_vendor_pkgs__serde_json-1.0.96//:serde_json",
+        "@crates_vendor_pkgs__serde_urlencoded-0.7.1//:serde_urlencoded",
+        "@crates_vendor_pkgs__sync_wrapper-0.1.2//:sync_wrapper",
+        "@crates_vendor_pkgs__tokio-1.28.2//:tokio",
+        "@crates_vendor_pkgs__tower-0.4.13//:tower",
+        "@crates_vendor_pkgs__tower-http-0.2.5//:tower_http",
+        "@crates_vendor_pkgs__tower-layer-0.3.2//:tower_layer",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-core-0.1.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-core-0.1.2.bazel
index 41da823..ec08149 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-core-0.1.2.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.axum-core-0.1.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,71 +16,36 @@
 
 rust_library(
     name = "axum_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
     proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__async-trait-0.1.56//:async_trait",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
+        "@crates_vendor_pkgs__async-trait-0.1.68//:async_trait",
     ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=axum-core",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.1.2",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__futures-util-0.3.21//:futures_util",
-            "@crates_vendor_pkgs__http-0.2.8//:http",
-            "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
-            "@crates_vendor_pkgs__mime-0.3.16//:mime",
-        ],
-    }),
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__mime-0.3.17//:mime",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bazel
index fe47f17..7d0ee7f 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bazel
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -11,11 +11,9 @@
 exports_files(
     [
         "cargo-bazel.json",
-        "defs.bzl",
         "crates.bzl",
-    ] + glob([
-        "*.bazel",
-    ]),
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
 )
 
 filegroup(
@@ -35,25 +33,31 @@
 
 alias(
     name = "hyper",
-    actual = "@crates_vendor_pkgs__hyper-0.14.20//:hyper",
+    actual = "@crates_vendor_pkgs__hyper-0.14.26//:hyper",
     tags = ["manual"],
 )
 
 alias(
     name = "mime",
-    actual = "@crates_vendor_pkgs__mime-0.3.16//:mime",
+    actual = "@crates_vendor_pkgs__mime-0.3.17//:mime",
     tags = ["manual"],
 )
 
 alias(
     name = "serde_json",
-    actual = "@crates_vendor_pkgs__serde_json-1.0.82//:serde_json",
+    actual = "@crates_vendor_pkgs__serde_json-1.0.96//:serde_json",
+    tags = ["manual"],
+)
+
+alias(
+    name = "socket2",
+    actual = "@crates_vendor_pkgs__socket2-0.4.9//:socket2",
     tags = ["manual"],
 )
 
 alias(
     name = "tokio",
-    actual = "@crates_vendor_pkgs__tokio-1.16.1//:tokio",
+    actual = "@crates_vendor_pkgs__tokio-1.28.2//:tokio",
     tags = ["manual"],
 )
 
@@ -71,14 +75,12 @@
 
 alias(
     name = "tracing",
-    actual = "@crates_vendor_pkgs__tracing-0.1.35//:tracing",
+    actual = "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
     tags = ["manual"],
 )
 
 alias(
     name = "tracing-subscriber",
-    actual = "@crates_vendor_pkgs__tracing-subscriber-0.3.15//:tracing_subscriber",
+    actual = "@crates_vendor_pkgs__tracing-subscriber-0.3.17//:tracing_subscriber",
     tags = ["manual"],
 )
-
-# Binaries
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bitflags-1.3.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bitflags-1.3.2.bazel
index 795ab83..255bde0 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bitflags-1.3.2.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bitflags-1.3.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,29 @@
 
 rust_library(
     name = "bitflags",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=bitflags",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bytes-1.2.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bytes-1.2.0.bazel
deleted file mode 100644
index d6372fc..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bytes-1.2.0.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "bytes",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.2.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bytes-1.4.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bytes-1.4.0.bazel
new file mode 100644
index 0000000..ae7ab94
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.bytes-1.4.0.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bytes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.cfg-if-1.0.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.cfg-if-1.0.0.bazel
index 7e3c294..382e759 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.cfg-if-1.0.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.cfg-if-1.0.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "cfg_if",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=cfg-if",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.0.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.fnv-1.0.7.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.fnv-1.0.7.bazel
index f95cc0a..a2cef32 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.fnv-1.0.7.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.fnv-1.0.7.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,67 +16,30 @@
 
 rust_library(
     name = "fnv",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "std",
     ],
     crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=fnv",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.0.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.0.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.0.1.bazel
deleted file mode 100644
index b356338..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.0.1.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "form_urlencoded",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__matches-0.1.9//:matches",
-            "@crates_vendor_pkgs__percent-encoding-2.1.0//:percent_encoding",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.2.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.2.0.bazel
new file mode 100644
index 0000000..ef75436
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.2.0.bazel
@@ -0,0 +1,49 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "form_urlencoded",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=form_urlencoded",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.2.0",
+    deps = [
+        "@crates_vendor_pkgs__percent-encoding-2.3.0//:percent_encoding",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.21.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.21.bazel
deleted file mode 100644
index 7a338f1..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.21.bazel
+++ /dev/null
@@ -1,181 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_channel",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__futures-channel-0.3.21//:build_script_build",
-            "@crates_vendor_pkgs__futures-core-0.3.21//:futures_core",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-channel_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-channel_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.28.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.28.bazel
new file mode 100644
index 0000000..d12dae0
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.28.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_channel",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-channel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-channel-0.3.28//:build_script_build",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-channel_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-channel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-channel_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.21.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.21.bazel
deleted file mode 100644
index 1e65a5b..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.21.bazel
+++ /dev/null
@@ -1,180 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__futures-core-0.3.21//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.28.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.28.bazel
new file mode 100644
index 0000000..e586bfa
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.28.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-core-0.3.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.21.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.21.bazel
deleted file mode 100644
index f547b5a..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.21.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_sink",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.28.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.28.bazel
new file mode 100644
index 0000000..12e4897
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.28.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_sink",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-sink",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.21.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.21.bazel
deleted file mode 100644
index 99e2866..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.21.bazel
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_task",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__futures-task-0.3.21//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-task_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-task_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.28.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.28.bazel
new file mode 100644
index 0000000..ef562ba
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.28.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_task",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-task",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-task-0.3.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-task_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-task",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-task_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.21.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.21.bazel
deleted file mode 100644
index 03462e4..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.21.bazel
+++ /dev/null
@@ -1,180 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "futures_util",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_pkgs__futures-task-0.3.21//:futures_task",
-            "@crates_vendor_pkgs__futures-util-0.3.21//:build_script_build",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_pkgs__pin-utils-0.1.0//:pin_utils",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "futures-util_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.21",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "futures-util_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.28.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.28.bazel
new file mode 100644
index 0000000..d5dd97f
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.28.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_util",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-task-0.3.28//:futures_task",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:build_script_build",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__pin-utils-0.1.0//:pin_utils",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-util_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-util_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.h2-0.3.13.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.h2-0.3.13.bazel
deleted file mode 100644
index a1bbb4e..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.h2-0.3.13.bazel
+++ /dev/null
@@ -1,101 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "h2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.13",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__fnv-1.0.7//:fnv",
-            "@crates_vendor_pkgs__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_pkgs__futures-sink-0.3.21//:futures_sink",
-            "@crates_vendor_pkgs__futures-util-0.3.21//:futures_util",
-            "@crates_vendor_pkgs__http-0.2.8//:http",
-            "@crates_vendor_pkgs__indexmap-1.9.1//:indexmap",
-            "@crates_vendor_pkgs__slab-0.4.7//:slab",
-            "@crates_vendor_pkgs__tokio-1.16.1//:tokio",
-            "@crates_vendor_pkgs__tokio-util-0.7.2//:tokio_util",
-            "@crates_vendor_pkgs__tracing-0.1.35//:tracing",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.h2-0.3.19.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.h2-0.3.19.bazel
new file mode 100644
index 0000000..5d7e98b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.h2-0.3.19.bazel
@@ -0,0 +1,54 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "h2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=h2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.19",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__fnv-1.0.7//:fnv",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-sink-0.3.28//:futures_sink",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__indexmap-1.9.3//:indexmap",
+        "@crates_vendor_pkgs__slab-0.4.8//:slab",
+        "@crates_vendor_pkgs__tokio-1.28.2//:tokio",
+        "@crates_vendor_pkgs__tokio-util-0.7.8//:tokio_util",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hashbrown-0.12.3.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hashbrown-0.12.3.bazel
index c40844a..e114a70 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hashbrown-0.12.3.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hashbrown-0.12.3.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,29 @@
 
 rust_library(
     name = "hashbrown",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "raw",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=hashbrown",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.12.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.1.19.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.1.19.bazel
deleted file mode 100644
index 2f1f330..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.1.19.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "hermit_abi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.19",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__libc-0.2.126//:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.2.6.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.2.6.bazel
new file mode 100644
index 0000000..5128a5b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.2.6.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.6",
+    deps = [
+        "@crates_vendor_pkgs__libc-0.2.146//:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-0.2.8.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-0.2.8.bazel
deleted file mode 100644
index 997fc34..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-0.2.8.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "http",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.8",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__fnv-1.0.7//:fnv",
-            "@crates_vendor_pkgs__itoa-1.0.2//:itoa",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-0.2.9.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-0.2.9.bazel
new file mode 100644
index 0000000..f49239a
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-0.2.9.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "http",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=http",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.9",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__fnv-1.0.7//:fnv",
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-body-0.4.5.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-body-0.4.5.bazel
index 15331a1..492927c 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-body-0.4.5.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-body-0.4.5.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,68 +16,31 @@
 
 rust_library(
     name = "http_body",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=http-body",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.5",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__http-0.2.8//:http",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-        ],
-    }),
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-range-header-0.3.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-range-header-0.3.0.bazel
index b688f4f..7831014 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-range-header-0.3.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.http-range-header-0.3.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "http_range_header",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=http-range-header",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.3.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httparse-1.7.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httparse-1.7.1.bazel
deleted file mode 100644
index ca4134f..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httparse-1.7.1.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "httparse",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.7.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__httparse-1.7.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "httparse_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.7.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "httparse_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httparse-1.8.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httparse-1.8.0.bazel
new file mode 100644
index 0000000..6dde907
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httparse-1.8.0.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "httparse",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=httparse",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.8.0",
+    deps = [
+        "@crates_vendor_pkgs__httparse-1.8.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "httparse_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=httparse",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.8.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "httparse_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httpdate-1.0.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httpdate-1.0.2.bazel
index ce4aa55..120a2ee 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httpdate-1.0.2.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.httpdate-1.0.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "httpdate",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=httpdate",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hyper-0.14.20.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hyper-0.14.20.bazel
deleted file mode 100644
index e3dcfa9..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hyper-0.14.20.bazel
+++ /dev/null
@@ -1,117 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "hyper",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "client",
-        "default",
-        "full",
-        "h2",
-        "http1",
-        "http2",
-        "runtime",
-        "server",
-        "socket2",
-        "stream",
-        "tcp",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.14.20",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__futures-channel-0.3.21//:futures_channel",
-            "@crates_vendor_pkgs__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_pkgs__futures-util-0.3.21//:futures_util",
-            "@crates_vendor_pkgs__h2-0.3.13//:h2",
-            "@crates_vendor_pkgs__http-0.2.8//:http",
-            "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
-            "@crates_vendor_pkgs__httparse-1.7.1//:httparse",
-            "@crates_vendor_pkgs__httpdate-1.0.2//:httpdate",
-            "@crates_vendor_pkgs__itoa-1.0.2//:itoa",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_pkgs__socket2-0.4.4//:socket2",
-            "@crates_vendor_pkgs__tokio-1.16.1//:tokio",
-            "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
-            "@crates_vendor_pkgs__tracing-0.1.35//:tracing",
-            "@crates_vendor_pkgs__want-0.3.0//:want",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hyper-0.14.26.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hyper-0.14.26.bazel
new file mode 100644
index 0000000..d06e087
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.hyper-0.14.26.bazel
@@ -0,0 +1,72 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "hyper",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "client",
+        "default",
+        "full",
+        "h2",
+        "http1",
+        "http2",
+        "runtime",
+        "server",
+        "socket2",
+        "stream",
+        "tcp",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hyper",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.14.26",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-channel-0.3.28//:futures_channel",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__h2-0.3.19//:h2",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__httparse-1.8.0//:httparse",
+        "@crates_vendor_pkgs__httpdate-1.0.2//:httpdate",
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__socket2-0.4.9//:socket2",
+        "@crates_vendor_pkgs__tokio-1.28.2//:tokio",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+        "@crates_vendor_pkgs__want-0.3.0//:want",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.1.bazel
deleted file mode 100644
index 592d2a8..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.1.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "indexmap",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.9.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__hashbrown-0.12.3//:hashbrown",
-            "@crates_vendor_pkgs__indexmap-1.9.1//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "indexmap_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2021",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.9.1",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "indexmap_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.3.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.3.bazel
new file mode 100644
index 0000000..710d48a
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.3.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "indexmap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.3",
+    deps = [
+        "@crates_vendor_pkgs__hashbrown-0.12.3//:hashbrown",
+        "@crates_vendor_pkgs__indexmap-1.9.3//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "indexmap_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.3",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "indexmap_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.instant-0.1.12.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.instant-0.1.12.bazel
deleted file mode 100644
index 60649d1..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.instant-0.1.12.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # BSD-3-Clause
-# ])
-
-rust_library(
-    name = "instant",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.12",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.itoa-1.0.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.itoa-1.0.2.bazel
deleted file mode 100644
index 1c042ef..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.itoa-1.0.2.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "itoa",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.itoa-1.0.6.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.itoa-1.0.6.bazel
new file mode 100644
index 0000000..ad583aa
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.itoa-1.0.6.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "itoa",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=itoa",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.6",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lazy_static-1.4.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lazy_static-1.4.0.bazel
index 6abb739..4a39aad 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lazy_static-1.4.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lazy_static-1.4.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "lazy_static",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=lazy_static",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.4.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.libc-0.2.126.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.libc-0.2.126.bazel
deleted file mode 100644
index 2de4a43..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.libc-0.2.126.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.126",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__libc-0.2.126//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "libc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.2.126",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "libc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.libc-0.2.146.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.libc-0.2.146.bazel
new file mode 100644
index 0000000..a28ad91
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.libc-0.2.146.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.146",
+    deps = [
+        "@crates_vendor_pkgs__libc-0.2.146//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.146",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.10.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.10.bazel
new file mode 100644
index 0000000..046ac8a
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.10.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.10",
+    deps = [
+        "@crates_vendor_pkgs__lock_api-0.4.10//:build_script_build",
+        "@crates_vendor_pkgs__scopeguard-1.1.0//:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "lock_api_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "atomic_usize",
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.10",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "lock_api_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.7.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.7.bazel
deleted file mode 100644
index f80bfdc..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.7.bazel
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "lock_api",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__lock_api-0.4.7//:build_script_build",
-            "@crates_vendor_pkgs__scopeguard-1.1.0//:scopeguard",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "lock_api_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "lock_api_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.log-0.4.17.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.log-0.4.17.bazel
deleted file mode 100644
index a9435e4..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.log-0.4.17.bazel
+++ /dev/null
@@ -1,177 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "log",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.17",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_pkgs__log-0.4.17//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "log_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.17",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "log_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.log-0.4.19.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.log-0.4.19.bazel
new file mode 100644
index 0000000..6d44181
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.log-0.4.19.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "log",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.19",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.matches-0.1.9.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.matches-0.1.9.bazel
deleted file mode 100644
index c61088d..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.matches-0.1.9.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "matches",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.matchit-0.4.6.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.matchit-0.4.6.bazel
index 2a24ebd..620695d 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.matchit-0.4.6.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.matchit-0.4.6.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,29 @@
 
 rust_library(
     name = "matchit",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=matchit",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.6",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.memchr-2.5.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.memchr-2.5.0.bazel
index fbb573d..23e82d4 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.memchr-2.5.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.memchr-2.5.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,149 +17,73 @@
 
 rust_library(
     name = "memchr",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=memchr",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "2.5.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__memchr-2.5.0//:build_script_build",
-        ],
-    }),
+        "@crates_vendor_pkgs__memchr-2.5.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "memchr_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
         "default",
         "std",
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=memchr",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "2.5.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "memchr_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mime-0.3.16.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mime-0.3.16.bazel
deleted file mode 100644
index 0c421cd..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mime-0.3.16.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "mime",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.16",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mime-0.3.17.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mime-0.3.17.bazel
new file mode 100644
index 0000000..0fe5c39
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mime-0.3.17.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "mime",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mime",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.17",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mio-0.7.14.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mio-0.7.14.bazel
deleted file mode 100644
index 720ecad..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mio-0.7.14.bazel
+++ /dev/null
@@ -1,140 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "mio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "net",
-        "os-ext",
-        "os-poll",
-        "os-util",
-        "tcp",
-        "udp",
-        "uds",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.7.14",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__libc-0.2.126//:libc",
-
-            # Common Deps
-            "@crates_vendor_pkgs__log-0.4.17//:log",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__miow-0.3.7//:miow",
-            "@crates_vendor_pkgs__ntapi-0.3.7//:ntapi",
-            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",
-
-            # Common Deps
-            "@crates_vendor_pkgs__log-0.4.17//:log",
-        ],
-        "//conditions:default": [
-            "@crates_vendor_pkgs__log-0.4.17//:log",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mio-0.8.8.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mio-0.8.8.bazel
new file mode 100644
index 0000000..c604b50
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.mio-0.8.8.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "net",
+        "os-ext",
+        "os-poll",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.8",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(target_os = "wasi")
+            "@crates_vendor_pkgs__wasi-0.11.0-wasi-snapshot-preview1//:wasi",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.miow-0.3.7.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.miow-0.3.7.bazel
deleted file mode 100644
index b615e3c..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.miow-0.3.7.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "miow",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ntapi-0.3.7.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ntapi-0.3.7.bazel
deleted file mode 100644
index 8d41087..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ntapi-0.3.7.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "ntapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "user",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__ntapi-0.3.7//:build_script_build",
-            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "ntapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "user",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.3.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "ntapi_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.nu-ansi-term-0.46.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.nu-ansi-term-0.46.0.bazel
new file mode 100644
index 0000000..fdefe4d
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.nu-ansi-term-0.46.0.bazel
@@ -0,0 +1,55 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "nu_ansi_term",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=nu-ansi-term",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.46.0",
+    deps = [
+        "@crates_vendor_pkgs__overload-0.1.1//:overload",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.num_cpus-1.13.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.num_cpus-1.13.1.bazel
deleted file mode 100644
index 28bb82a..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.num_cpus-1.13.1.bazel
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "num_cpus",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))
-        #
-        # No supported platform triples for cfg: 'cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))'
-        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
-        #
-        # cfg(not(windows))
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:riscv32imc-unknown-none-elf",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:wasm32-unknown-unknown",
-            "@rules_rust//rust/platform:wasm32-wasi",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__libc-0.2.126//:libc",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.num_cpus-1.15.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.num_cpus-1.15.0.bazel
new file mode 100644
index 0000000..1e16e6b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.num_cpus-1.15.0.bazel
@@ -0,0 +1,128 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=num_cpus",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.15.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.once_cell-1.13.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.once_cell-1.13.0.bazel
deleted file mode 100644
index 6b76c12..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.once_cell-1.13.0.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "once_cell",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "default",
-        "race",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.13.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.once_cell-1.18.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.once_cell-1.18.0.bazel
new file mode 100644
index 0000000..b6d23fc
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.once_cell-1.18.0.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "once_cell",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "race",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=once_cell",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.18.0",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.overload-0.1.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.overload-0.1.1.bazel
new file mode 100644
index 0000000..9f8b307
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.overload-0.1.1.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "overload",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=overload",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.1",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot-0.11.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot-0.11.2.bazel
deleted file mode 100644
index 1b83d77..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot-0.11.2.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "parking_lot",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.11.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__instant-0.1.12//:instant",
-            "@crates_vendor_pkgs__lock_api-0.4.7//:lock_api",
-            "@crates_vendor_pkgs__parking_lot_core-0.8.5//:parking_lot_core",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot-0.12.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot-0.12.1.bazel
new file mode 100644
index 0000000..c148d1e
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot-0.12.1.bazel
@@ -0,0 +1,48 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.12.1",
+    deps = [
+        "@crates_vendor_pkgs__lock_api-0.4.10//:lock_api",
+        "@crates_vendor_pkgs__parking_lot_core-0.9.8//:parking_lot_core",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.8.5.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.8.5.bazel
deleted file mode 100644
index b19b5d1..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.8.5.bazel
+++ /dev/null
@@ -1,227 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "parking_lot_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.8.5",
-    deps = [
-    ] + select_with_or({
-        # cfg(target_os = "redox")
-        #
-        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
-        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
-        #
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__libc-0.2.126//:libc",
-
-            # Common Deps
-            "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_pkgs__instant-0.1.12//:instant",
-            "@crates_vendor_pkgs__parking_lot_core-0.8.5//:build_script_build",
-            "@crates_vendor_pkgs__smallvec-1.9.0//:smallvec",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",
-
-            # Common Deps
-            "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_pkgs__instant-0.1.12//:instant",
-            "@crates_vendor_pkgs__parking_lot_core-0.8.5//:build_script_build",
-            "@crates_vendor_pkgs__smallvec-1.9.0//:smallvec",
-        ],
-        "//conditions:default": [
-            "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_pkgs__instant-0.1.12//:instant",
-            "@crates_vendor_pkgs__parking_lot_core-0.8.5//:build_script_build",
-            "@crates_vendor_pkgs__smallvec-1.9.0//:smallvec",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "parking_lot_core_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.8.5",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "parking_lot_core_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.9.8.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.9.8.bazel
new file mode 100644
index 0000000..87a94e0
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.9.8.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.8",
+    deps = [
+        "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_pkgs__parking_lot_core-0.9.8//:build_script_build",
+        "@crates_vendor_pkgs__smallvec-1.10.0//:smallvec",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-targets-0.48.0//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-targets-0.48.0//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-targets-0.48.0//:windows_targets",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "parking_lot_core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.8",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "parking_lot_core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.1.0.bazel
deleted file mode 100644
index 396cb48..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.1.0.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "percent_encoding",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.3.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.3.0.bazel
new file mode 100644
index 0000000..7e14c6c
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.3.0.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "percent_encoding",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=percent-encoding",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.3.0",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-1.0.11.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-1.0.11.bazel
deleted file mode 100644
index 4548f7c..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-1.0.11.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_library(
-    name = "pin_project",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__pin-project-internal-1.0.11//:pin_project_internal",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.11",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-1.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-1.1.0.bazel
new file mode 100644
index 0000000..eafc106
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-1.1.0.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "pin_project",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__pin-project-internal-1.1.0//:pin_project_internal",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.0.11.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.0.11.bazel
deleted file mode 100644
index 31d06ff..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.0.11.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR MIT
-# ])
-
-rust_proc_macro(
-    name = "pin_project_internal",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.11",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_pkgs__quote-1.0.20//:quote",
-            "@crates_vendor_pkgs__syn-1.0.98//:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.1.0.bazel
new file mode 100644
index 0000000..e46d90d
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.1.0.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_proc_macro(
+    name = "pin_project_internal",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project-internal",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.60//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.28//:quote",
+        "@crates_vendor_pkgs__syn-2.0.18//:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-lite-0.2.9.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-lite-0.2.9.bazel
index 99db166..e61266b 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-lite-0.2.9.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-project-lite-0.2.9.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "pin_project_lite",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=pin-project-lite",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.2.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-utils-0.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-utils-0.1.0.bazel
index 29329ce..e3ad4e1 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-utils-0.1.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.pin-utils-0.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "pin_utils",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=pin-utils",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.40.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.40.bazel
deleted file mode 100644
index 59b3e6d..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.40.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "proc_macro2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.40",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__proc-macro2-1.0.40//:build_script_build",
-            "@crates_vendor_pkgs__unicode-ident-1.0.2//:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "proc-macro2_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.40",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "proc-macro2_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.60.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.60.bazel
new file mode 100644
index 0000000..438c2e4
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.60.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.60",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.60//:build_script_build",
+        "@crates_vendor_pkgs__unicode-ident-1.0.9//:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "proc-macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.60",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.quote-1.0.20.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.quote-1.0.20.bazel
deleted file mode 100644
index c0ee8c7..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.quote-1.0.20.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "quote",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.20",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_pkgs__quote-1.0.20//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "quote_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "proc-macro",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.20",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "quote_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.quote-1.0.28.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.quote-1.0.28.bazel
new file mode 100644
index 0000000..2a65261
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.quote-1.0.28.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.28",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.60//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "quote_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "quote_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.2.13.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.2.13.bazel
deleted file mode 100644
index 2a3af83..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.2.13.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "syscall",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.13",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.3.5.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.3.5.bazel
new file mode 100644
index 0000000..7836e5b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.3.5.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.5",
+    deps = [
+        "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ryu-1.0.10.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ryu-1.0.10.bazel
deleted file mode 100644
index 8963fe2..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ryu-1.0.10.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0 OR BSL-1.0
-# ])
-
-rust_library(
-    name = "ryu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.10",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ryu-1.0.13.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ryu-1.0.13.bazel
new file mode 100644
index 0000000..b23462c
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.ryu-1.0.13.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR BSL-1.0
+# ])
+
+rust_library(
+    name = "ryu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=ryu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.13",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.scopeguard-1.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.scopeguard-1.1.0.bazel
index 521cf9c..ce3e182 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.scopeguard-1.1.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.scopeguard-1.1.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "scopeguard",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=scopeguard",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "1.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde-1.0.140.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde-1.0.140.bazel
deleted file mode 100644
index 7be7179..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde-1.0.140.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.140",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__serde-1.0.140//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "serde_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.140",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "serde_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde-1.0.164.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde-1.0.164.bazel
new file mode 100644
index 0000000..729f6a3
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde-1.0.164.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.164",
+    deps = [
+        "@crates_vendor_pkgs__serde-1.0.164//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.164",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "serde_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.82.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.82.bazel
deleted file mode 100644
index 27af144..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.82.bazel
+++ /dev/null
@@ -1,183 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "serde_json",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "raw_value",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.82",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__itoa-1.0.2//:itoa",
-            "@crates_vendor_pkgs__ryu-1.0.10//:ryu",
-            "@crates_vendor_pkgs__serde-1.0.140//:serde",
-            "@crates_vendor_pkgs__serde_json-1.0.82//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "serde_json_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "raw_value",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.82",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "serde_json_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.96.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.96.bazel
new file mode 100644
index 0000000..93b79dd
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.96.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde_json",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "raw_value",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.96",
+    deps = [
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+        "@crates_vendor_pkgs__ryu-1.0.13//:ryu",
+        "@crates_vendor_pkgs__serde-1.0.164//:serde",
+        "@crates_vendor_pkgs__serde_json-1.0.96//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_json_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "raw_value",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.96",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "serde_json_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_urlencoded-0.7.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_urlencoded-0.7.1.bazel
index 3409249..9291963 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_urlencoded-0.7.1.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.serde_urlencoded-0.7.1.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,69 +16,32 @@
 
 rust_library(
     name = "serde_urlencoded",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=serde_urlencoded",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.7.1",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__form_urlencoded-1.0.1//:form_urlencoded",
-            "@crates_vendor_pkgs__itoa-1.0.2//:itoa",
-            "@crates_vendor_pkgs__ryu-1.0.10//:ryu",
-            "@crates_vendor_pkgs__serde-1.0.140//:serde",
-        ],
-    }),
+        "@crates_vendor_pkgs__form_urlencoded-1.2.0//:form_urlencoded",
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+        "@crates_vendor_pkgs__ryu-1.0.13//:ryu",
+        "@crates_vendor_pkgs__serde-1.0.164//:serde",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sharded-slab-0.1.4.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sharded-slab-0.1.4.bazel
index a9ae32f..d5664dc 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sharded-slab-0.1.4.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sharded-slab-0.1.4.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,66 +16,29 @@
 
 rust_library(
     name = "sharded_slab",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=sharded-slab",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.1.4",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__lazy_static-1.4.0//:lazy_static",
-        ],
-    }),
+        "@crates_vendor_pkgs__lazy_static-1.4.0//:lazy_static",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.0.bazel
deleted file mode 100644
index 6f7ae8e..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.0.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "signal_hook_registry",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.4.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__libc-0.2.126//:libc",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.1.bazel
new file mode 100644
index 0000000..7be131c
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.1.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "signal_hook_registry",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=signal-hook-registry",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.1",
+    deps = [
+        "@crates_vendor_pkgs__libc-0.2.146//:libc",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.slab-0.4.7.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.slab-0.4.7.bazel
deleted file mode 100644
index 24d1160..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.slab-0.4.7.bazel
+++ /dev/null
@@ -1,179 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "slab",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.7",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__slab-0.4.7//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "slab_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.4.7",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "slab_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.slab-0.4.8.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.slab-0.4.8.bazel
new file mode 100644
index 0000000..d898426
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.slab-0.4.8.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "slab",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.8",
+    deps = [
+        "@crates_vendor_pkgs__slab-0.4.8//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "slab_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.8",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "slab_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.smallvec-1.10.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.smallvec-1.10.0.bazel
new file mode 100644
index 0000000..115025e
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.smallvec-1.10.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "smallvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=smallvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.10.0",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.smallvec-1.9.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.smallvec-1.9.0.bazel
deleted file mode 100644
index acb3495..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.smallvec-1.9.0.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "smallvec",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.9.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.socket2-0.4.4.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.socket2-0.4.4.bazel
deleted file mode 100644
index bb6c436..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.socket2-0.4.4.bazel
+++ /dev/null
@@ -1,127 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "socket2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.4.4",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__libc-0.2.126//:libc",
-
-            # Common Deps
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.socket2-0.4.9.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.socket2-0.4.9.bazel
new file mode 100644
index 0000000..876ba18
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.socket2-0.4.9.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "socket2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "all",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=socket2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.syn-1.0.98.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.syn-1.0.98.bazel
deleted file mode 100644
index 2e292ae..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.syn-1.0.98.bazel
+++ /dev/null
@@ -1,199 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "syn",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "extra-traits",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit",
-        "visit-mut",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.98",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_pkgs__quote-1.0.20//:quote",
-            "@crates_vendor_pkgs__syn-1.0.98//:build_script_build",
-            "@crates_vendor_pkgs__unicode-ident-1.0.2//:unicode_ident",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "syn_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "clone-impls",
-        "default",
-        "derive",
-        "extra-traits",
-        "full",
-        "parsing",
-        "printing",
-        "proc-macro",
-        "quote",
-        "visit",
-        "visit-mut",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "1.0.98",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "syn_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.syn-2.0.18.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.syn-2.0.18.bazel
new file mode 100644
index 0000000..1e6fe48
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.syn-2.0.18.bazel
@@ -0,0 +1,58 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.18",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.60//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.28//:quote",
+        "@crates_vendor_pkgs__unicode-ident-1.0.9//:unicode_ident",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.1.bazel
deleted file mode 100644
index 6ac7c88..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.1.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0
-# ])
-
-rust_library(
-    name = "sync_wrapper",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.2.bazel
new file mode 100644
index 0000000..bb6829d
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.2.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0
+# ])
+
+rust_library(
+    name = "sync_wrapper",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=sync_wrapper",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.4.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.4.bazel
deleted file mode 100644
index c3d5f5c..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.4.bazel
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # Apache-2.0/MIT
-# ])
-
-rust_library(
-    name = "thread_local",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.1.4",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__once_cell-1.13.0//:once_cell",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.7.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.7.bazel
new file mode 100644
index 0000000..fa1def7
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.7.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "thread_local",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=thread_local",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.7",
+    deps = [
+        "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_pkgs__once_cell-1.18.0//:once_cell",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-1.16.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-1.16.1.bazel
deleted file mode 100644
index c4f48c7..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-1.16.1.bazel
+++ /dev/null
@@ -1,173 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "bytes",
-        "default",
-        "fs",
-        "full",
-        "io-std",
-        "io-util",
-        "libc",
-        "macros",
-        "memchr",
-        "mio",
-        "net",
-        "num_cpus",
-        "once_cell",
-        "parking_lot",
-        "process",
-        "rt",
-        "rt-multi-thread",
-        "signal",
-        "signal-hook-registry",
-        "sync",
-        "time",
-        "tokio-macros",
-        "winapi",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__tokio-macros-1.8.0//:tokio_macros",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.16.1",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__libc-0.2.126//:libc",
-            "@crates_vendor_pkgs__signal-hook-registry-1.4.0//:signal_hook_registry",
-
-            # Common Deps
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__memchr-2.5.0//:memchr",
-            "@crates_vendor_pkgs__mio-0.7.14//:mio",
-            "@crates_vendor_pkgs__num_cpus-1.13.1//:num_cpus",
-            "@crates_vendor_pkgs__once_cell-1.13.0//:once_cell",
-            "@crates_vendor_pkgs__parking_lot-0.11.2//:parking_lot",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-        ],
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            # Target Deps
-            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",
-
-            # Common Deps
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__memchr-2.5.0//:memchr",
-            "@crates_vendor_pkgs__mio-0.7.14//:mio",
-            "@crates_vendor_pkgs__num_cpus-1.13.1//:num_cpus",
-            "@crates_vendor_pkgs__once_cell-1.13.0//:once_cell",
-            "@crates_vendor_pkgs__parking_lot-0.11.2//:parking_lot",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-        ],
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__memchr-2.5.0//:memchr",
-            "@crates_vendor_pkgs__mio-0.7.14//:mio",
-            "@crates_vendor_pkgs__num_cpus-1.13.1//:num_cpus",
-            "@crates_vendor_pkgs__once_cell-1.13.0//:once_cell",
-            "@crates_vendor_pkgs__parking_lot-0.11.2//:parking_lot",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-1.28.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-1.28.2.bazel
new file mode 100644
index 0000000..99d456c
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-1.28.2.bazel
@@ -0,0 +1,274 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__tokio-macros-2.1.0//:tokio_macros",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.28.2",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__mio-0.8.8//:mio",
+        "@crates_vendor_pkgs__num_cpus-1.15.0//:num_cpus",
+        "@crates_vendor_pkgs__parking_lot-0.12.1//:parking_lot",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tokio-1.28.2//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_pkgs__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_pkgs__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_pkgs__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.146//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-none": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tokio_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.28.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tokio_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-macros-1.8.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-macros-1.8.0.bazel
deleted file mode 100644
index 7d990ca..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-macros-1.8.0.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "tokio_macros",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.8.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_pkgs__quote-1.0.20//:quote",
-            "@crates_vendor_pkgs__syn-1.0.98//:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-macros-2.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-macros-2.1.0.bazel
new file mode 100644
index 0000000..a9d8667
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-macros-2.1.0.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tokio_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.1.0",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.60//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.28//:quote",
+        "@crates_vendor_pkgs__syn-2.0.18//:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.2.bazel
deleted file mode 100644
index 47d160b..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.2.bazel
+++ /dev/null
@@ -1,99 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tokio_util",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "codec",
-        "default",
-        "tracing",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.7.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_pkgs__futures-sink-0.3.21//:futures_sink",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_pkgs__tokio-1.16.1//:tokio",
-            "@crates_vendor_pkgs__tracing-0.1.35//:tracing",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.8.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.8.bazel
new file mode 100644
index 0000000..6cad902
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.8.bazel
@@ -0,0 +1,54 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_util",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "codec",
+        "default",
+        "tracing",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.8",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-sink-0.3.28//:futures_sink",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tokio-1.28.2//:tokio",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-0.4.13.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-0.4.13.bazel
index 31410cd..5ceb6d6 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-0.4.13.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-0.4.13.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,29 +16,17 @@
 
 rust_library(
     name = "tower",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "__common",
         "buffer",
@@ -65,48 +43,25 @@
         "util",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tower",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.13",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_pkgs__futures-util-0.3.21//:futures_util",
-            "@crates_vendor_pkgs__pin-project-1.0.11//:pin_project",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_pkgs__tokio-1.16.1//:tokio",
-            "@crates_vendor_pkgs__tokio-util-0.7.2//:tokio_util",
-            "@crates_vendor_pkgs__tower-layer-0.3.1//:tower_layer",
-            "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
-            "@crates_vendor_pkgs__tracing-0.1.35//:tracing",
-        ],
-    }),
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__pin-project-1.1.0//:pin_project",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tokio-1.28.2//:tokio",
+        "@crates_vendor_pkgs__tokio-util-0.7.8//:tokio_util",
+        "@crates_vendor_pkgs__tower-layer-0.3.2//:tower_layer",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-http-0.2.5.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-http-0.2.5.bazel
index 59153cb..d3fd1c2 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-http-0.2.5.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-http-0.2.5.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,29 +16,17 @@
 
 rust_library(
     name = "tower_http",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "map-response-body",
@@ -58,51 +36,28 @@
         "util",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tower-http",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.2.5",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
-            "@crates_vendor_pkgs__bytes-1.2.0//:bytes",
-            "@crates_vendor_pkgs__futures-core-0.3.21//:futures_core",
-            "@crates_vendor_pkgs__futures-util-0.3.21//:futures_util",
-            "@crates_vendor_pkgs__http-0.2.8//:http",
-            "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
-            "@crates_vendor_pkgs__http-range-header-0.3.0//:http_range_header",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_pkgs__tower-0.4.13//:tower",
-            "@crates_vendor_pkgs__tower-layer-0.3.1//:tower_layer",
-            "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
-            "@crates_vendor_pkgs__tracing-0.1.35//:tracing",
-        ],
-    }),
+        "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__http-range-header-0.3.0//:http_range_header",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tower-0.4.13//:tower",
+        "@crates_vendor_pkgs__tower-layer-0.3.2//:tower_layer",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.1.bazel
deleted file mode 100644
index e88fe62..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.1.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tower_layer",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.2.bazel
new file mode 100644
index 0000000..1dabe52
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.2.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tower_layer",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tower-layer",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.2",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-service-0.3.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-service-0.3.2.bazel
index b72fb38..32ee3f5 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-service-0.3.2.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tower-service-0.3.2.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,65 +16,26 @@
 
 rust_library(
     name = "tower_service",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tower-service",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-0.1.35.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-0.1.35.bazel
deleted file mode 100644
index fb9bbfb..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-0.1.35.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tracing",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "attributes",
-        "default",
-        "log",
-        "std",
-        "tracing-attributes",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__tracing-attributes-0.1.22//:tracing_attributes",
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.35",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
-            "@crates_vendor_pkgs__log-0.4.17//:log",
-            "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
-            "@crates_vendor_pkgs__tracing-core-0.1.28//:tracing_core",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-0.1.37.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-0.1.37.bazel
new file mode 100644
index 0000000..fcd85fa
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-0.1.37.bazel
@@ -0,0 +1,57 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "attributes",
+        "default",
+        "log",
+        "std",
+        "tracing-attributes",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__tracing-attributes-0.1.24//:tracing_attributes",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.37",
+    deps = [
+        "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_pkgs__log-0.4.19//:log",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tracing-core-0.1.31//:tracing_core",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.22.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.22.bazel
deleted file mode 100644
index 03eabcd..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.22.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_proc_macro",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_proc_macro(
-    name = "tracing_attributes",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.22",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__proc-macro2-1.0.40//:proc_macro2",
-            "@crates_vendor_pkgs__quote-1.0.20//:quote",
-            "@crates_vendor_pkgs__syn-1.0.98//:syn",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.24.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.24.bazel
new file mode 100644
index 0000000..cfc6fe7
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.24.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tracing_attributes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-attributes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.24",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.60//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.28//:quote",
+        "@crates_vendor_pkgs__syn-2.0.18//:syn",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.28.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.28.bazel
deleted file mode 100644
index 8692724..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.28.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tracing_core",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "once_cell",
-        "std",
-        "valuable",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.28",
-    deps = [
-    ] + select_with_or({
-        # cfg(tracing_unstable)
-        #
-        # No supported platform triples for cfg: 'cfg(tracing_unstable)'
-        # Skipped dependencies: [{"id":"valuable 0.1.0","target":"valuable"}]
-        #
-        "//conditions:default": [
-            "@crates_vendor_pkgs__once_cell-1.13.0//:once_cell",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.31.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.31.bazel
new file mode 100644
index 0000000..f3162d3
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.31.bazel
@@ -0,0 +1,50 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "once_cell",
+        "std",
+        "valuable",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.31",
+    deps = [
+        "@crates_vendor_pkgs__once_cell-1.18.0//:once_cell",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-log-0.1.3.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-log-0.1.3.bazel
index ecf9023..dea8052 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-log-0.1.3.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-log-0.1.3.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,70 +16,35 @@
 
 rust_library(
     name = "tracing_log",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "log-tracer",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=tracing-log",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.1.3",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__lazy_static-1.4.0//:lazy_static",
-            "@crates_vendor_pkgs__log-0.4.17//:log",
-            "@crates_vendor_pkgs__tracing-core-0.1.28//:tracing_core",
-        ],
-    }),
+        "@crates_vendor_pkgs__lazy_static-1.4.0//:lazy_static",
+        "@crates_vendor_pkgs__log-0.4.19//:log",
+        "@crates_vendor_pkgs__tracing-core-0.1.31//:tracing_core",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.15.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.15.bazel
deleted file mode 100644
index 9c0f6e6..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.15.bazel
+++ /dev/null
@@ -1,107 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "tracing_subscriber",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "ansi",
-        "ansi_term",
-        "default",
-        "fmt",
-        "registry",
-        "sharded-slab",
-        "smallvec",
-        "std",
-        "thread_local",
-        "tracing-log",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.15",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__ansi_term-0.12.1//:ansi_term",
-            "@crates_vendor_pkgs__sharded-slab-0.1.4//:sharded_slab",
-            "@crates_vendor_pkgs__smallvec-1.9.0//:smallvec",
-            "@crates_vendor_pkgs__thread_local-1.1.4//:thread_local",
-            "@crates_vendor_pkgs__tracing-core-0.1.28//:tracing_core",
-            "@crates_vendor_pkgs__tracing-log-0.1.3//:tracing_log",
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.17.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.17.bazel
new file mode 100644
index 0000000..62265c5
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.17.bazel
@@ -0,0 +1,62 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing_subscriber",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "ansi",
+        "default",
+        "fmt",
+        "nu-ansi-term",
+        "registry",
+        "sharded-slab",
+        "smallvec",
+        "std",
+        "thread_local",
+        "tracing-log",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-subscriber",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.17",
+    deps = [
+        "@crates_vendor_pkgs__nu-ansi-term-0.46.0//:nu_ansi_term",
+        "@crates_vendor_pkgs__sharded-slab-0.1.4//:sharded_slab",
+        "@crates_vendor_pkgs__smallvec-1.10.0//:smallvec",
+        "@crates_vendor_pkgs__thread_local-1.1.7//:thread_local",
+        "@crates_vendor_pkgs__tracing-core-0.1.31//:tracing_core",
+        "@crates_vendor_pkgs__tracing-log-0.1.3//:tracing_log",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.3.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.3.bazel
deleted file mode 100644
index 2cc2a5e..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.3.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "try_lock",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.4.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.4.bazel
new file mode 100644
index 0000000..cd8e37c
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.4.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "try_lock",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=try-lock",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.4",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.2.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.2.bazel
deleted file mode 100644
index e83d79c..0000000
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.2.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
-# ])
-
-rust_library(
-    name = "unicode_ident",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.9.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.9.bazel
new file mode 100644
index 0000000..51c2c80
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.9.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# ])
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-ident",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.9",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.valuable-0.1.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.valuable-0.1.0.bazel
index 0612bb2..8d2a7fe 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.valuable-0.1.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.valuable-0.1.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,149 +17,65 @@
 
 rust_library(
     name = "valuable",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "std",
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=valuable",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.1.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__valuable-0.1.0//:build_script_build",
-        ],
-    }),
+        "@crates_vendor_pkgs__valuable-0.1.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "valuable_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "alloc",
-        "std",
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=valuable",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.1.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "valuable_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.want-0.3.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.want-0.3.0.bazel
index 0886b54..5b5e0eb 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.want-0.3.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.want-0.3.0.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -26,67 +16,30 @@
 
 rust_library(
     name = "want",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=want",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.3.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__log-0.4.17//:log",
-            "@crates_vendor_pkgs__try-lock-0.2.3//:try_lock",
-        ],
-    }),
+        "@crates_vendor_pkgs__log-0.4.19//:log",
+        "@crates_vendor_pkgs__try-lock-0.2.4//:try_lock",
+    ],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
new file mode 100644
index 0000000..d1719a5
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "wasi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=wasi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.11.0+wasi-snapshot-preview1",
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-0.3.9.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-0.3.9.bazel
index 7343249..6001d1d 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-0.3.9.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-0.3.9.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,215 +17,83 @@
 
 rust_library(
     name = "winapi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
-        "cfg",
         "consoleapi",
         "errhandlingapi",
-        "evntrace",
         "fileapi",
         "handleapi",
-        "in6addr",
-        "inaddr",
-        "ioapiset",
-        "minwinbase",
-        "minwindef",
-        "mstcpip",
-        "mswsock",
-        "namedpipeapi",
-        "ntdef",
-        "ntsecapi",
-        "ntstatus",
         "processenv",
-        "std",
-        "synchapi",
-        "threadpoollegacyapiset",
-        "winbase",
-        "windef",
-        "winerror",
-        "winioctl",
-        "winnt",
-        "winsock2",
-        "ws2def",
         "ws2ipdef",
         "ws2tcpip",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.3.9",
     deps = [
-    ] + select_with_or({
-        # i686-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
-        #
-        # x86_64-pc-windows-gnu
-        #
-        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
-        # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
-        #
-        "//conditions:default": [
-            "@crates_vendor_pkgs__winapi-0.3.9//:build_script_build",
-        ],
-    }),
+        "@crates_vendor_pkgs__winapi-0.3.9//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    srcs = glob(["**/*.rs"]),
     crate_features = [
-        "cfg",
         "consoleapi",
         "errhandlingapi",
-        "evntrace",
         "fileapi",
         "handleapi",
-        "in6addr",
-        "inaddr",
-        "ioapiset",
-        "minwinbase",
-        "minwindef",
-        "mstcpip",
-        "mswsock",
-        "namedpipeapi",
-        "ntdef",
-        "ntsecapi",
-        "ntstatus",
         "processenv",
-        "std",
-        "synchapi",
-        "threadpoollegacyapiset",
-        "winbase",
-        "windef",
-        "winerror",
-        "winioctl",
-        "winnt",
-        "winsock2",
-        "ws2def",
         "ws2ipdef",
         "ws2tcpip",
     ],
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.3.9",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
index 9b00a33..9e7d169 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,65 @@
 
 rust_library(
     name = "winapi_i686_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
-        ],
-    }),
+        "@crates_vendor_pkgs__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-i686-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-i686-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
index 9c1e225..b07690f 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -3,24 +3,11 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -30,145 +17,65 @@
 
 rust_library(
     name = "winapi_x86_64_pc_windows_gnu",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
     version = "0.4.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@crates_vendor_pkgs__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
-        ],
-    }),
+        "@crates_vendor_pkgs__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "winapi-x86_64-pc-windows-gnu_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
         "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
         "manual",
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.0",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "winapi-x86_64-pc-windows-gnu_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows-sys-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows-sys-0.48.0.bazel
new file mode 100644
index 0000000..9c0f69f
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows-sys-0.48.0.bazel
@@ -0,0 +1,62 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_Networking",
+        "Win32_Networking_WinSock",
+        "Win32_Security",
+        "Win32_Security_Authorization",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Console",
+        "Win32_System_IO",
+        "Win32_System_Pipes",
+        "Win32_System_SystemServices",
+        "Win32_System_Threading",
+        "Win32_System_WindowsProgramming",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows-targets-0.48.0//:windows_targets",
+    ],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows-targets-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows-targets-0.48.0.bazel
new file mode 100644
index 0000000..6f260a1
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows-targets-0.48.0.bazel
@@ -0,0 +1,59 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_targets",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-targets",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows_aarch64_msvc-0.48.0//:windows_aarch64_msvc",  # cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows_i686_msvc-0.48.0//:windows_i686_msvc",  # cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__windows_i686_gnu-0.48.0//:windows_i686_gnu",  # cfg(all(target_arch = "x86", target_env = "gnu", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows_x86_64_msvc-0.48.0//:windows_x86_64_msvc",  # cfg(all(target_arch = "x86_64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__windows_x86_64_gnu-0.48.0//:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
new file mode 100644
index 0000000..dc8354b
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows_aarch64_gnullvm-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
new file mode 100644
index 0000000..c2b5296
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows_aarch64_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_i686_gnu-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_i686_gnu-0.48.0.bazel
new file mode 100644
index 0000000..e2a088e
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_i686_gnu-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows_i686_gnu-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_i686_msvc-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_i686_msvc-0.48.0.bazel
new file mode 100644
index 0000000..05f8cf2
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_i686_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows_i686_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
new file mode 100644
index 0000000..49a2645
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows_x86_64_gnu-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
new file mode 100644
index 0000000..76ccde3
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows_x86_64_gnullvm-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
new file mode 100644
index 0000000..d3aff57
--- /dev/null
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_pkgs__windows_x86_64_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_remote_pkgs/crates/defs.bzl b/examples/crate_universe/vendor_remote_pkgs/crates/defs.bzl
index 3d2763f..7757dfd 100644
--- a/examples/crate_universe/vendor_remote_pkgs/crates/defs.bzl
+++ b/examples/crate_universe/vendor_remote_pkgs/crates/defs.bzl
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+#     See https://github.com/bazelbuild/rules_rust/blob/main/examples/crate_universe/vendor_local_pkgs/BUILD.bazel
 ###############################################################################
 """
 # `crates_repository` API
@@ -37,7 +37,7 @@
         # name of the workspace this file is defined in.
         "workspace_member_package": {
 
-            # Not all dependnecies are supported for all platforms.
+            # Not all dependencies are supported for all platforms.
             # the condition key is the condition required to be true
             # on the host platform.
             "condition": {
@@ -153,7 +153,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -222,7 +222,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -292,14 +292,15 @@
     "": {
         _COMMON_CONDITION: {
             "axum": "@crates_vendor_pkgs__axum-0.4.8//:axum",
-            "hyper": "@crates_vendor_pkgs__hyper-0.14.20//:hyper",
-            "mime": "@crates_vendor_pkgs__mime-0.3.16//:mime",
-            "serde_json": "@crates_vendor_pkgs__serde_json-1.0.82//:serde_json",
-            "tokio": "@crates_vendor_pkgs__tokio-1.16.1//:tokio",
+            "hyper": "@crates_vendor_pkgs__hyper-0.14.26//:hyper",
+            "mime": "@crates_vendor_pkgs__mime-0.3.17//:mime",
+            "serde_json": "@crates_vendor_pkgs__serde_json-1.0.96//:serde_json",
+            "socket2": "@crates_vendor_pkgs__socket2-0.4.9//:socket2",
+            "tokio": "@crates_vendor_pkgs__tokio-1.28.2//:tokio",
             "tower": "@crates_vendor_pkgs__tower-0.4.13//:tower",
             "tower-http": "@crates_vendor_pkgs__tower-http-0.2.5//:tower_http",
-            "tracing": "@crates_vendor_pkgs__tracing-0.1.35//:tracing",
-            "tracing-subscriber": "@crates_vendor_pkgs__tracing-subscriber-0.3.15//:tracing_subscriber",
+            "tracing": "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+            "tracing-subscriber": "@crates_vendor_pkgs__tracing-subscriber-0.3.17//:tracing_subscriber",
         },
     },
 }
@@ -363,12 +364,22 @@
 
 _CONDITIONS = {
     "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
-    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["aarch64-pc-windows-msvc"],
+    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["i686-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["i686-pc-windows-msvc"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["x86_64-pc-windows-msvc"],
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "thumbv7em-none-eabi", "thumbv8m.main-none-eabi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu", "x86_64-unknown-none"],
+    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "thumbv7em-none-eabi", "thumbv8m.main-none-eabi", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu", "x86_64-unknown-none"],
     "cfg(target_os = \"redox\")": [],
-    "cfg(target_os = \"windows\")": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
+    "cfg(target_os = \"windows\")": ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
     "cfg(tracing_unstable)": [],
-    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
-    "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
     "i686-pc-windows-gnu": [],
     "x86_64-pc-windows-gnu": [],
 }
@@ -379,22 +390,12 @@
     """A macro for defining repositories for all generated crates"""
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__ansi_term-0.12.1",
-        sha256 = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2",
+        name = "crates_vendor_pkgs__async-trait-0.1.68",
+        sha256 = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/ansi_term/0.12.1/download"],
-        strip_prefix = "ansi_term-0.12.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.ansi_term-0.12.1.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crates_vendor_pkgs__async-trait-0.1.56",
-        sha256 = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/async-trait/0.1.56/download"],
-        strip_prefix = "async-trait-0.1.56",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.async-trait-0.1.56.bazel"),
+        urls = ["https://crates.io/api/v1/crates/async-trait/0.1.68/download"],
+        strip_prefix = "async-trait-0.1.68",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.async-trait-0.1.68.bazel"),
     )
 
     maybe(
@@ -439,12 +440,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__bytes-1.2.0",
-        sha256 = "f0b3de4a0c5e67e16066a0715723abd91edc2f9001d09c46e1dca929351e130e",
+        name = "crates_vendor_pkgs__bytes-1.4.0",
+        sha256 = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/bytes/1.2.0/download"],
-        strip_prefix = "bytes-1.2.0",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.bytes-1.2.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/bytes/1.4.0/download"],
+        strip_prefix = "bytes-1.4.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.bytes-1.4.0.bazel"),
     )
 
     maybe(
@@ -469,72 +470,72 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__form_urlencoded-1.0.1",
-        sha256 = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191",
+        name = "crates_vendor_pkgs__form_urlencoded-1.2.0",
+        sha256 = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download"],
-        strip_prefix = "form_urlencoded-1.0.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.form_urlencoded-1.0.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.2.0/download"],
+        strip_prefix = "form_urlencoded-1.2.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.form_urlencoded-1.2.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__futures-channel-0.3.21",
-        sha256 = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010",
+        name = "crates_vendor_pkgs__futures-channel-0.3.28",
+        sha256 = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/futures-channel/0.3.21/download"],
-        strip_prefix = "futures-channel-0.3.21",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-channel-0.3.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/futures-channel/0.3.28/download"],
+        strip_prefix = "futures-channel-0.3.28",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-channel-0.3.28.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__futures-core-0.3.21",
-        sha256 = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3",
+        name = "crates_vendor_pkgs__futures-core-0.3.28",
+        sha256 = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/futures-core/0.3.21/download"],
-        strip_prefix = "futures-core-0.3.21",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-core-0.3.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/futures-core/0.3.28/download"],
+        strip_prefix = "futures-core-0.3.28",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-core-0.3.28.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__futures-sink-0.3.21",
-        sha256 = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868",
+        name = "crates_vendor_pkgs__futures-sink-0.3.28",
+        sha256 = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/futures-sink/0.3.21/download"],
-        strip_prefix = "futures-sink-0.3.21",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-sink-0.3.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/futures-sink/0.3.28/download"],
+        strip_prefix = "futures-sink-0.3.28",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-sink-0.3.28.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__futures-task-0.3.21",
-        sha256 = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a",
+        name = "crates_vendor_pkgs__futures-task-0.3.28",
+        sha256 = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/futures-task/0.3.21/download"],
-        strip_prefix = "futures-task-0.3.21",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-task-0.3.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/futures-task/0.3.28/download"],
+        strip_prefix = "futures-task-0.3.28",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-task-0.3.28.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__futures-util-0.3.21",
-        sha256 = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a",
+        name = "crates_vendor_pkgs__futures-util-0.3.28",
+        sha256 = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/futures-util/0.3.21/download"],
-        strip_prefix = "futures-util-0.3.21",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-util-0.3.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/futures-util/0.3.28/download"],
+        strip_prefix = "futures-util-0.3.28",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.futures-util-0.3.28.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__h2-0.3.13",
-        sha256 = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57",
+        name = "crates_vendor_pkgs__h2-0.3.19",
+        sha256 = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/h2/0.3.13/download"],
-        strip_prefix = "h2-0.3.13",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.h2-0.3.13.bazel"),
+        urls = ["https://crates.io/api/v1/crates/h2/0.3.19/download"],
+        strip_prefix = "h2-0.3.19",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.h2-0.3.19.bazel"),
     )
 
     maybe(
@@ -549,22 +550,22 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__hermit-abi-0.1.19",
-        sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33",
+        name = "crates_vendor_pkgs__hermit-abi-0.2.6",
+        sha256 = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.1.19/download"],
-        strip_prefix = "hermit-abi-0.1.19",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.hermit-abi-0.1.19.bazel"),
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.2.6/download"],
+        strip_prefix = "hermit-abi-0.2.6",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.hermit-abi-0.2.6.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__http-0.2.8",
-        sha256 = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399",
+        name = "crates_vendor_pkgs__http-0.2.9",
+        sha256 = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/http/0.2.8/download"],
-        strip_prefix = "http-0.2.8",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.http-0.2.8.bazel"),
+        urls = ["https://crates.io/api/v1/crates/http/0.2.9/download"],
+        strip_prefix = "http-0.2.9",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.http-0.2.9.bazel"),
     )
 
     maybe(
@@ -589,12 +590,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__httparse-1.7.1",
-        sha256 = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c",
+        name = "crates_vendor_pkgs__httparse-1.8.0",
+        sha256 = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/httparse/1.7.1/download"],
-        strip_prefix = "httparse-1.7.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.httparse-1.7.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/httparse/1.8.0/download"],
+        strip_prefix = "httparse-1.8.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.httparse-1.8.0.bazel"),
     )
 
     maybe(
@@ -609,42 +610,32 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__hyper-0.14.20",
-        sha256 = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac",
+        name = "crates_vendor_pkgs__hyper-0.14.26",
+        sha256 = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/hyper/0.14.20/download"],
-        strip_prefix = "hyper-0.14.20",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.hyper-0.14.20.bazel"),
+        urls = ["https://crates.io/api/v1/crates/hyper/0.14.26/download"],
+        strip_prefix = "hyper-0.14.26",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.hyper-0.14.26.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__indexmap-1.9.1",
-        sha256 = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e",
+        name = "crates_vendor_pkgs__indexmap-1.9.3",
+        sha256 = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/indexmap/1.9.1/download"],
-        strip_prefix = "indexmap-1.9.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.indexmap-1.9.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/indexmap/1.9.3/download"],
+        strip_prefix = "indexmap-1.9.3",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.indexmap-1.9.3.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__instant-0.1.12",
-        sha256 = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c",
+        name = "crates_vendor_pkgs__itoa-1.0.6",
+        sha256 = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/instant/0.1.12/download"],
-        strip_prefix = "instant-0.1.12",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.instant-0.1.12.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crates_vendor_pkgs__itoa-1.0.2",
-        sha256 = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/itoa/1.0.2/download"],
-        strip_prefix = "itoa-1.0.2",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.itoa-1.0.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/itoa/1.0.6/download"],
+        strip_prefix = "itoa-1.0.6",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.itoa-1.0.6.bazel"),
     )
 
     maybe(
@@ -659,42 +650,32 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__libc-0.2.126",
-        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+        name = "crates_vendor_pkgs__libc-0.2.146",
+        sha256 = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
-        strip_prefix = "libc-0.2.126",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.libc-0.2.126.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.146/download"],
+        strip_prefix = "libc-0.2.146",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.libc-0.2.146.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__lock_api-0.4.7",
-        sha256 = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53",
+        name = "crates_vendor_pkgs__lock_api-0.4.10",
+        sha256 = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.7/download"],
-        strip_prefix = "lock_api-0.4.7",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.lock_api-0.4.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.10/download"],
+        strip_prefix = "lock_api-0.4.10",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.lock_api-0.4.10.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__log-0.4.17",
-        sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
+        name = "crates_vendor_pkgs__log-0.4.19",
+        sha256 = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
-        strip_prefix = "log-0.4.17",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.log-0.4.17.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "crates_vendor_pkgs__matches-0.1.9",
-        sha256 = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/matches/0.1.9/download"],
-        strip_prefix = "matches-0.1.9",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.matches-0.1.9.bazel"),
+        urls = ["https://crates.io/api/v1/crates/log/0.4.19/download"],
+        strip_prefix = "log-0.4.19",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.log-0.4.19.bazel"),
     )
 
     maybe(
@@ -719,112 +700,112 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__mime-0.3.16",
-        sha256 = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d",
+        name = "crates_vendor_pkgs__mime-0.3.17",
+        sha256 = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/mime/0.3.16/download"],
-        strip_prefix = "mime-0.3.16",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.mime-0.3.16.bazel"),
+        urls = ["https://crates.io/api/v1/crates/mime/0.3.17/download"],
+        strip_prefix = "mime-0.3.17",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.mime-0.3.17.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__mio-0.7.14",
-        sha256 = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc",
+        name = "crates_vendor_pkgs__mio-0.8.8",
+        sha256 = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/mio/0.7.14/download"],
-        strip_prefix = "mio-0.7.14",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.mio-0.7.14.bazel"),
+        urls = ["https://crates.io/api/v1/crates/mio/0.8.8/download"],
+        strip_prefix = "mio-0.8.8",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.mio-0.8.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__miow-0.3.7",
-        sha256 = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21",
+        name = "crates_vendor_pkgs__nu-ansi-term-0.46.0",
+        sha256 = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/miow/0.3.7/download"],
-        strip_prefix = "miow-0.3.7",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.miow-0.3.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/nu-ansi-term/0.46.0/download"],
+        strip_prefix = "nu-ansi-term-0.46.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.nu-ansi-term-0.46.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__ntapi-0.3.7",
-        sha256 = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f",
+        name = "crates_vendor_pkgs__num_cpus-1.15.0",
+        sha256 = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/ntapi/0.3.7/download"],
-        strip_prefix = "ntapi-0.3.7",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.ntapi-0.3.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/num_cpus/1.15.0/download"],
+        strip_prefix = "num_cpus-1.15.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.num_cpus-1.15.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__num_cpus-1.13.1",
-        sha256 = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1",
+        name = "crates_vendor_pkgs__once_cell-1.18.0",
+        sha256 = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/num_cpus/1.13.1/download"],
-        strip_prefix = "num_cpus-1.13.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.num_cpus-1.13.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/once_cell/1.18.0/download"],
+        strip_prefix = "once_cell-1.18.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.once_cell-1.18.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__once_cell-1.13.0",
-        sha256 = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1",
+        name = "crates_vendor_pkgs__overload-0.1.1",
+        sha256 = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/once_cell/1.13.0/download"],
-        strip_prefix = "once_cell-1.13.0",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.once_cell-1.13.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/overload/0.1.1/download"],
+        strip_prefix = "overload-0.1.1",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.overload-0.1.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__parking_lot-0.11.2",
-        sha256 = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99",
+        name = "crates_vendor_pkgs__parking_lot-0.12.1",
+        sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/parking_lot/0.11.2/download"],
-        strip_prefix = "parking_lot-0.11.2",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.parking_lot-0.11.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/parking_lot/0.12.1/download"],
+        strip_prefix = "parking_lot-0.12.1",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.parking_lot-0.12.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__parking_lot_core-0.8.5",
-        sha256 = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216",
+        name = "crates_vendor_pkgs__parking_lot_core-0.9.8",
+        sha256 = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.8.5/download"],
-        strip_prefix = "parking_lot_core-0.8.5",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.parking_lot_core-0.8.5.bazel"),
+        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.8/download"],
+        strip_prefix = "parking_lot_core-0.9.8",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.parking_lot_core-0.9.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__percent-encoding-2.1.0",
-        sha256 = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e",
+        name = "crates_vendor_pkgs__percent-encoding-2.3.0",
+        sha256 = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/percent-encoding/2.1.0/download"],
-        strip_prefix = "percent-encoding-2.1.0",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.percent-encoding-2.1.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/percent-encoding/2.3.0/download"],
+        strip_prefix = "percent-encoding-2.3.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.percent-encoding-2.3.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__pin-project-1.0.11",
-        sha256 = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260",
+        name = "crates_vendor_pkgs__pin-project-1.1.0",
+        sha256 = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/pin-project/1.0.11/download"],
-        strip_prefix = "pin-project-1.0.11",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.pin-project-1.0.11.bazel"),
+        urls = ["https://crates.io/api/v1/crates/pin-project/1.1.0/download"],
+        strip_prefix = "pin-project-1.1.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.pin-project-1.1.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__pin-project-internal-1.0.11",
-        sha256 = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74",
+        name = "crates_vendor_pkgs__pin-project-internal-1.1.0",
+        sha256 = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/pin-project-internal/1.0.11/download"],
-        strip_prefix = "pin-project-internal-1.0.11",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.pin-project-internal-1.0.11.bazel"),
+        urls = ["https://crates.io/api/v1/crates/pin-project-internal/1.1.0/download"],
+        strip_prefix = "pin-project-internal-1.1.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.pin-project-internal-1.1.0.bazel"),
     )
 
     maybe(
@@ -849,42 +830,42 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__proc-macro2-1.0.40",
-        sha256 = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7",
+        name = "crates_vendor_pkgs__proc-macro2-1.0.60",
+        sha256 = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.40/download"],
-        strip_prefix = "proc-macro2-1.0.40",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.proc-macro2-1.0.40.bazel"),
+        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.60/download"],
+        strip_prefix = "proc-macro2-1.0.60",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.proc-macro2-1.0.60.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__quote-1.0.20",
-        sha256 = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804",
+        name = "crates_vendor_pkgs__quote-1.0.28",
+        sha256 = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/quote/1.0.20/download"],
-        strip_prefix = "quote-1.0.20",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.quote-1.0.20.bazel"),
+        urls = ["https://crates.io/api/v1/crates/quote/1.0.28/download"],
+        strip_prefix = "quote-1.0.28",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.quote-1.0.28.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__redox_syscall-0.2.13",
-        sha256 = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42",
+        name = "crates_vendor_pkgs__redox_syscall-0.3.5",
+        sha256 = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.2.13/download"],
-        strip_prefix = "redox_syscall-0.2.13",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.redox_syscall-0.2.13.bazel"),
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.3.5/download"],
+        strip_prefix = "redox_syscall-0.3.5",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.redox_syscall-0.3.5.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__ryu-1.0.10",
-        sha256 = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695",
+        name = "crates_vendor_pkgs__ryu-1.0.13",
+        sha256 = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/ryu/1.0.10/download"],
-        strip_prefix = "ryu-1.0.10",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.ryu-1.0.10.bazel"),
+        urls = ["https://crates.io/api/v1/crates/ryu/1.0.13/download"],
+        strip_prefix = "ryu-1.0.13",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.ryu-1.0.13.bazel"),
     )
 
     maybe(
@@ -899,22 +880,22 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__serde-1.0.140",
-        sha256 = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03",
+        name = "crates_vendor_pkgs__serde-1.0.164",
+        sha256 = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde/1.0.140/download"],
-        strip_prefix = "serde-1.0.140",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.serde-1.0.140.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde/1.0.164/download"],
+        strip_prefix = "serde-1.0.164",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.serde-1.0.164.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__serde_json-1.0.82",
-        sha256 = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7",
+        name = "crates_vendor_pkgs__serde_json-1.0.96",
+        sha256 = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.82/download"],
-        strip_prefix = "serde_json-1.0.82",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.serde_json-1.0.82.bazel"),
+        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.96/download"],
+        strip_prefix = "serde_json-1.0.96",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.serde_json-1.0.96.bazel"),
     )
 
     maybe(
@@ -939,102 +920,102 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__signal-hook-registry-1.4.0",
-        sha256 = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0",
+        name = "crates_vendor_pkgs__signal-hook-registry-1.4.1",
+        sha256 = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download"],
-        strip_prefix = "signal-hook-registry-1.4.0",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.signal-hook-registry-1.4.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download"],
+        strip_prefix = "signal-hook-registry-1.4.1",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.signal-hook-registry-1.4.1.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__slab-0.4.7",
-        sha256 = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef",
+        name = "crates_vendor_pkgs__slab-0.4.8",
+        sha256 = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/slab/0.4.7/download"],
-        strip_prefix = "slab-0.4.7",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.slab-0.4.7.bazel"),
+        urls = ["https://crates.io/api/v1/crates/slab/0.4.8/download"],
+        strip_prefix = "slab-0.4.8",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.slab-0.4.8.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__smallvec-1.9.0",
-        sha256 = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1",
+        name = "crates_vendor_pkgs__smallvec-1.10.0",
+        sha256 = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/smallvec/1.9.0/download"],
-        strip_prefix = "smallvec-1.9.0",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.smallvec-1.9.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/smallvec/1.10.0/download"],
+        strip_prefix = "smallvec-1.10.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.smallvec-1.10.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__socket2-0.4.4",
-        sha256 = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0",
+        name = "crates_vendor_pkgs__socket2-0.4.9",
+        sha256 = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/socket2/0.4.4/download"],
-        strip_prefix = "socket2-0.4.4",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.socket2-0.4.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/socket2/0.4.9/download"],
+        strip_prefix = "socket2-0.4.9",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.socket2-0.4.9.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__syn-1.0.98",
-        sha256 = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd",
+        name = "crates_vendor_pkgs__syn-2.0.18",
+        sha256 = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/syn/1.0.98/download"],
-        strip_prefix = "syn-1.0.98",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.syn-1.0.98.bazel"),
+        urls = ["https://crates.io/api/v1/crates/syn/2.0.18/download"],
+        strip_prefix = "syn-2.0.18",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.syn-2.0.18.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__sync_wrapper-0.1.1",
-        sha256 = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8",
+        name = "crates_vendor_pkgs__sync_wrapper-0.1.2",
+        sha256 = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/sync_wrapper/0.1.1/download"],
-        strip_prefix = "sync_wrapper-0.1.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.sync_wrapper-0.1.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/sync_wrapper/0.1.2/download"],
+        strip_prefix = "sync_wrapper-0.1.2",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.sync_wrapper-0.1.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__thread_local-1.1.4",
-        sha256 = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180",
+        name = "crates_vendor_pkgs__thread_local-1.1.7",
+        sha256 = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/thread_local/1.1.4/download"],
-        strip_prefix = "thread_local-1.1.4",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.thread_local-1.1.4.bazel"),
+        urls = ["https://crates.io/api/v1/crates/thread_local/1.1.7/download"],
+        strip_prefix = "thread_local-1.1.7",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.thread_local-1.1.7.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tokio-1.16.1",
-        sha256 = "0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a",
+        name = "crates_vendor_pkgs__tokio-1.28.2",
+        sha256 = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tokio/1.16.1/download"],
-        strip_prefix = "tokio-1.16.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tokio-1.16.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tokio/1.28.2/download"],
+        strip_prefix = "tokio-1.28.2",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tokio-1.28.2.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tokio-macros-1.8.0",
-        sha256 = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484",
+        name = "crates_vendor_pkgs__tokio-macros-2.1.0",
+        sha256 = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tokio-macros/1.8.0/download"],
-        strip_prefix = "tokio-macros-1.8.0",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tokio-macros-1.8.0.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tokio-macros/2.1.0/download"],
+        strip_prefix = "tokio-macros-2.1.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tokio-macros-2.1.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tokio-util-0.7.2",
-        sha256 = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c",
+        name = "crates_vendor_pkgs__tokio-util-0.7.8",
+        sha256 = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tokio-util/0.7.2/download"],
-        strip_prefix = "tokio-util-0.7.2",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tokio-util-0.7.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tokio-util/0.7.8/download"],
+        strip_prefix = "tokio-util-0.7.8",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tokio-util-0.7.8.bazel"),
     )
 
     maybe(
@@ -1059,12 +1040,12 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tower-layer-0.3.1",
-        sha256 = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62",
+        name = "crates_vendor_pkgs__tower-layer-0.3.2",
+        sha256 = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tower-layer/0.3.1/download"],
-        strip_prefix = "tower-layer-0.3.1",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tower-layer-0.3.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tower-layer/0.3.2/download"],
+        strip_prefix = "tower-layer-0.3.2",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tower-layer-0.3.2.bazel"),
     )
 
     maybe(
@@ -1079,32 +1060,32 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tracing-0.1.35",
-        sha256 = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160",
+        name = "crates_vendor_pkgs__tracing-0.1.37",
+        sha256 = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tracing/0.1.35/download"],
-        strip_prefix = "tracing-0.1.35",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-0.1.35.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tracing/0.1.37/download"],
+        strip_prefix = "tracing-0.1.37",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-0.1.37.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tracing-attributes-0.1.22",
-        sha256 = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2",
+        name = "crates_vendor_pkgs__tracing-attributes-0.1.24",
+        sha256 = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tracing-attributes/0.1.22/download"],
-        strip_prefix = "tracing-attributes-0.1.22",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-attributes-0.1.22.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tracing-attributes/0.1.24/download"],
+        strip_prefix = "tracing-attributes-0.1.24",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-attributes-0.1.24.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tracing-core-0.1.28",
-        sha256 = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7",
+        name = "crates_vendor_pkgs__tracing-core-0.1.31",
+        sha256 = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tracing-core/0.1.28/download"],
-        strip_prefix = "tracing-core-0.1.28",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-core-0.1.28.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tracing-core/0.1.31/download"],
+        strip_prefix = "tracing-core-0.1.31",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-core-0.1.31.bazel"),
     )
 
     maybe(
@@ -1119,32 +1100,32 @@
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__tracing-subscriber-0.3.15",
-        sha256 = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b",
+        name = "crates_vendor_pkgs__tracing-subscriber-0.3.17",
+        sha256 = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/tracing-subscriber/0.3.15/download"],
-        strip_prefix = "tracing-subscriber-0.3.15",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-subscriber-0.3.15.bazel"),
+        urls = ["https://crates.io/api/v1/crates/tracing-subscriber/0.3.17/download"],
+        strip_prefix = "tracing-subscriber-0.3.17",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.tracing-subscriber-0.3.17.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__try-lock-0.2.3",
-        sha256 = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642",
+        name = "crates_vendor_pkgs__try-lock-0.2.4",
+        sha256 = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/try-lock/0.2.3/download"],
-        strip_prefix = "try-lock-0.2.3",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.try-lock-0.2.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/try-lock/0.2.4/download"],
+        strip_prefix = "try-lock-0.2.4",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.try-lock-0.2.4.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "crates_vendor_pkgs__unicode-ident-1.0.2",
-        sha256 = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7",
+        name = "crates_vendor_pkgs__unicode-ident-1.0.9",
+        sha256 = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.2/download"],
-        strip_prefix = "unicode-ident-1.0.2",
-        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.unicode-ident-1.0.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.9/download"],
+        strip_prefix = "unicode-ident-1.0.9",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.unicode-ident-1.0.9.bazel"),
     )
 
     maybe(
@@ -1169,6 +1150,16 @@
 
     maybe(
         http_archive,
+        name = "crates_vendor_pkgs__wasi-0.11.0-wasi-snapshot-preview1",
+        sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
+        strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
+    )
+
+    maybe(
+        http_archive,
         name = "crates_vendor_pkgs__winapi-0.3.9",
         sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
         type = "tar.gz",
@@ -1196,3 +1187,93 @@
         strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
         build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
     )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows-sys-0.48.0",
+        sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-sys/0.48.0/download"],
+        strip_prefix = "windows-sys-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows-sys-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows-targets-0.48.0",
+        sha256 = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-targets/0.48.0/download"],
+        strip_prefix = "windows-targets-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows-targets-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_aarch64_gnullvm-0.48.0",
+        sha256 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download"],
+        strip_prefix = "windows_aarch64_gnullvm-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_aarch64_msvc-0.48.0",
+        sha256 = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download"],
+        strip_prefix = "windows_aarch64_msvc-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_i686_gnu-0.48.0",
+        sha256 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download"],
+        strip_prefix = "windows_i686_gnu-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows_i686_gnu-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_i686_msvc-0.48.0",
+        sha256 = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download"],
+        strip_prefix = "windows_i686_msvc-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows_i686_msvc-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_x86_64_gnu-0.48.0",
+        sha256 = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download"],
+        strip_prefix = "windows_x86_64_gnu-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_x86_64_gnullvm-0.48.0",
+        sha256 = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download"],
+        strip_prefix = "windows_x86_64_gnullvm-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_x86_64_msvc-0.48.0",
+        sha256 = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download"],
+        strip_prefix = "windows_x86_64_msvc-0.48.0",
+        build_file = Label("@examples//vendor_remote_pkgs/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel"),
+    )
diff --git a/examples/crate_universe/vendor_remote_pkgs/src/main.rs b/examples/crate_universe/vendor_remote_pkgs/src/main.rs
index edde4b6..3812c30 100644
--- a/examples/crate_universe/vendor_remote_pkgs/src/main.rs
+++ b/examples/crate_universe/vendor_remote_pkgs/src/main.rs
@@ -137,7 +137,7 @@
         let response = client
             .request(
                 Request::builder()
-                    .uri(format!("http://{}", addr))
+                    .uri(format!("http://{addr}"))
                     .body(Body::empty())
                     .unwrap(),
             )
diff --git a/examples/crate_universe_unnamed/.bazelrc b/examples/crate_universe_unnamed/.bazelrc
new file mode 100644
index 0000000..f67e236
--- /dev/null
+++ b/examples/crate_universe_unnamed/.bazelrc
@@ -0,0 +1,19 @@
+# `.bazelrc` is a Bazel configuration file.
+# https://bazel.build/docs/best-practices#bazelrc-file
+
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
+# Enable rustfmt for all targets in the workspace
+build:rustfmt --aspects=@rules_rust//rust:defs.bzl%rustfmt_aspect
+build:rustfmt --output_groups=+rustfmt_checks
+
+# Enable clippy for all targets in the workspace
+build:clippy --aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect
+build:clippy --output_groups=+clippy_checks
+
+# This import should always be last to allow users to override
+# settings for local development.
+try-import %workspace%/user.bazelrc
diff --git a/examples/crate_universe_unnamed/.gitignore b/examples/crate_universe_unnamed/.gitignore
new file mode 100644
index 0000000..00c84f8
--- /dev/null
+++ b/examples/crate_universe_unnamed/.gitignore
@@ -0,0 +1,3 @@
+# Git ignore patterns
+
+/bazel-*
diff --git a/examples/crate_universe_unnamed/BUILD.bazel b/examples/crate_universe_unnamed/BUILD.bazel
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/crate_universe_unnamed/BUILD.bazel
diff --git a/examples/crate_universe_unnamed/DEVELOPMENT.md b/examples/crate_universe_unnamed/DEVELOPMENT.md
new file mode 100644
index 0000000..8f5e216
--- /dev/null
+++ b/examples/crate_universe_unnamed/DEVELOPMENT.md
@@ -0,0 +1,22 @@
+# Developing crate_universe examples
+
+## Bootstrapping
+
+Crate Universe examples require a bootstrapping process the first time
+`rules_rust` is checked out. To setup the examples, run the following
+bazel commands:
+
+```shell
+bazel run //vendor_remote_manifests:crates_vendor_manifests
+bazel run //vendor_remote_pkgs:crates_vendor_pkgs
+```
+
+## Repinning/Updating Dependencies
+
+After bootstrapping, Bazel lockfiles can be regenerated by running the following:
+
+```shell
+CARGO_BAZEL_REPIN=1 bazel test //...
+```
+
+For more information on repinning, see: https://bazelbuild.github.io/rules_rust/crate_universe.html#repinning--updating-dependencies
diff --git a/examples/crate_universe_unnamed/README.md b/examples/crate_universe_unnamed/README.md
new file mode 100644
index 0000000..df635b4
--- /dev/null
+++ b/examples/crate_universe_unnamed/README.md
@@ -0,0 +1 @@
+# Examples
diff --git a/examples/crate_universe_unnamed/WORKSPACE.bazel b/examples/crate_universe_unnamed/WORKSPACE.bazel
new file mode 100644
index 0000000..c5dca7a
--- /dev/null
+++ b/examples/crate_universe_unnamed/WORKSPACE.bazel
@@ -0,0 +1,60 @@
+local_repository(
+    name = "rules_rust",
+    path = "../../",
+)
+
+load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
+
+rules_rust_dependencies()
+
+rust_register_toolchains(
+    edition = "2018",
+)
+
+load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
+
+crate_universe_dependencies(bootstrap = True)
+
+###############################################################################
+# V E N D O R   R E M O T E   M A N I F E S T S
+###############################################################################
+
+load(
+    "//vendor_remote_manifests/crates:crates.bzl",
+    crates_vendor_manifests_repositories = "crate_repositories",
+)
+
+crates_vendor_manifests_repositories()
+
+###############################################################################
+# V E N D O R   R E M O T E   P A C K A G E S
+###############################################################################
+
+load(
+    "//vendor_remote_pkgs/crates:crates.bzl",
+    crates_vendor_packages_repositories = "crate_repositories",
+)
+
+crates_vendor_packages_repositories()
+
+###############################################################################
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+# Used for Bazel CI
+http_archive(
+    name = "bazelci_rules",
+    sha256 = "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
+    strip_prefix = "bazelci_rules-1.0.0",
+    url = "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz",
+)
+
+load("@bazelci_rules//:rbe_repo.bzl", "rbe_preconfig")
+
+# Creates a default toolchain config for RBE.
+# Use this as is if you are using the rbe_ubuntu16_04 container,
+# otherwise refer to RBE docs.
+rbe_preconfig(
+    name = "buildkite_config",
+    toolchain = "ubuntu1804-bazel-java11",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/BUILD.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/BUILD.bazel
new file mode 100644
index 0000000..4dfcb40
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/BUILD.bazel
@@ -0,0 +1,25 @@
+load("@crates_vendor_manifests//:defs.bzl", "aliases", "all_crate_deps")
+load("@rules_rust//crate_universe:defs.bzl", "crates_vendor")
+load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
+
+crates_vendor(
+    name = "crates_vendor",
+    manifests = [":Cargo.toml"],
+    repository_name = "crates_vendor_manifests",
+)
+
+rust_library(
+    name = "cargo_local",
+    srcs = glob(["**/*.rs"]),
+    aliases = aliases(),
+    edition = "2018",
+    proc_macro_deps = all_crate_deps(proc_macro = True),
+    deps = all_crate_deps(normal = True),
+)
+
+rust_test(
+    name = "unit_test",
+    crate = ":cargo_local",
+    proc_macro_deps = all_crate_deps(proc_macro_dev = True),
+    deps = all_crate_deps(normal_dev = True),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/Cargo.lock b/examples/crate_universe_unnamed/vendor_remote_manifests/Cargo.lock
new file mode 100644
index 0000000..641895b
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/Cargo.lock
@@ -0,0 +1,408 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "async-stream"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "171374e7e3b2504e0e5236e3b59260560f9fe94bfe9ac39ba5e4e929c5590625"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "648ed8c8d2ce5409ccd57453d9d1b214b342a0d69376a6feda1fd6cae3299308"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bytes"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+
+[[package]]
+name = "cargo_local"
+version = "0.1.0"
+dependencies = [
+ "tempfile",
+ "tokio",
+ "tokio-test",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "fastrand"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.119"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4"
+
+[[package]]
+name = "lock_api"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b"
+dependencies = [
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "memchr"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+
+[[package]]
+name = "mio"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2"
+dependencies = [
+ "libc",
+ "log",
+ "miow",
+ "ntapi",
+ "winapi",
+]
+
+[[package]]
+name = "miow"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "ntapi"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
+
+[[package]]
+name = "socket2"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "libc",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi",
+]
+
+[[package]]
+name = "tokio"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee"
+dependencies = [
+ "bytes",
+ "libc",
+ "memchr",
+ "mio",
+ "num_cpus",
+ "once_cell",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "winapi",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tokio-stream"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-test"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53474327ae5e166530d17f2d956afcb4f8a004de581b3cae10f12006bc8163e3"
+dependencies = [
+ "async-stream",
+ "bytes",
+ "futures-core",
+ "tokio",
+ "tokio-stream",
+]
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+
+[[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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6"
+dependencies = [
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316"
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/Cargo.toml b/examples/crate_universe_unnamed/vendor_remote_manifests/Cargo.toml
new file mode 100644
index 0000000..e58d55e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/Cargo.toml
@@ -0,0 +1,12 @@
+[package]
+name = "cargo_local"
+version = "0.1.0"
+authors = ["UebelAndre <github@uebelandre.com>"]
+edition = "2018"
+
+[dependencies]
+tokio = { version = "1.17.0", features = ["full"] }
+
+[dev-dependencies]
+tempfile = "3.2.0"
+tokio-test = "0.4.2"
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.async-stream-0.3.5.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.async-stream-0.3.5.bazel
new file mode 100644
index 0000000..27fd92a
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.async-stream-0.3.5.bazel
@@ -0,0 +1,48 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "async_stream",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor_manifests__async-stream-impl-0.3.5//:async_stream_impl",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-stream",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.5",
+    deps = [
+        "@crates_vendor_manifests__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_manifests__pin-project-lite-0.2.9//:pin_project_lite",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.5.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.5.bazel
new file mode 100644
index 0000000..4af5a5e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.async-stream-impl-0.3.5.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "async_stream_impl",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-stream-impl",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.5",
+    deps = [
+        "@crates_vendor_manifests__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_manifests__quote-1.0.26//:quote",
+        "@crates_vendor_manifests__syn-2.0.15//:syn",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.autocfg-1.1.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.autocfg-1.1.0.bazel
new file mode 100644
index 0000000..9597d96
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.autocfg-1.1.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "autocfg",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=autocfg",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bazel
new file mode 100644
index 0000000..784bda7
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+package(default_visibility = ["//visibility:public"])
+
+exports_files(
+    [
+        "cargo-bazel.json",
+        "crates.bzl",
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "*.bazel",
+        "*.bzl",
+    ]),
+)
+
+# Workspace Member Dependencies
+alias(
+    name = "tempfile",
+    actual = "@crates_vendor_manifests__tempfile-3.5.0//:tempfile",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tokio",
+    actual = "@crates_vendor_manifests__tokio-1.27.0//:tokio",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tokio-test",
+    actual = "@crates_vendor_manifests__tokio-test-0.4.2//:tokio_test",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bitflags-1.3.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bitflags-1.3.2.bazel
new file mode 100644
index 0000000..9f18c13
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bitflags-1.3.2.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bitflags",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.3.2",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bytes-1.4.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bytes-1.4.0.bazel
new file mode 100644
index 0000000..dacbcea
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.bytes-1.4.0.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bytes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.cc-1.0.79.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.cc-1.0.79.bazel
new file mode 100644
index 0000000..8d8568b
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.cc-1.0.79.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "cc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.79",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.cfg-if-1.0.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..ff00758
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "cfg_if",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cfg-if",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.errno-0.3.1.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.errno-0.3.1.bazel
new file mode 100644
index 0000000..00574d1
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.errno-0.3.1.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "errno",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.1",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.errno-dragonfly-0.1.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.errno-dragonfly-0.1.2.bazel
new file mode 100644
index 0000000..2bb7876
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.errno-dragonfly-0.1.2.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "errno_dragonfly",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno-dragonfly",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    deps = [
+        "@crates_vendor_manifests__errno-dragonfly-0.1.2//:build_script_build",
+        "@crates_vendor_manifests__libc-0.2.142//:libc",
+    ],
+)
+
+cargo_build_script(
+    name = "errno-dragonfly_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=errno-dragonfly",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_manifests__cc-1.0.79//:cc",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "errno-dragonfly_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.fastrand-1.9.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.fastrand-1.9.0.bazel
new file mode 100644
index 0000000..bf19df4
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.fastrand-1.9.0.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "fastrand",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=fastrand",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.0",
+    deps = select({
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_manifests__instant-0.1.12//:instant",  # cfg(all(target_arch = "wasm32", not(target_os = "wasi")))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.futures-core-0.3.28.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.futures-core-0.3.28.bazel
new file mode 100644
index 0000000..e132234
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.futures-core-0.3.28.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_manifests__futures-core-0.3.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.hermit-abi-0.2.6.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.hermit-abi-0.2.6.bazel
new file mode 100644
index 0000000..9941e3e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.hermit-abi-0.2.6.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.6",
+    deps = [
+        "@crates_vendor_manifests__libc-0.2.142//:libc",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.hermit-abi-0.3.1.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.hermit-abi-0.3.1.bazel
new file mode 100644
index 0000000..4c6cc4f
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.hermit-abi-0.3.1.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.1",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.instant-0.1.12.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.instant-0.1.12.bazel
new file mode 100644
index 0000000..0180584
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.instant-0.1.12.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # BSD-3-Clause
+# ])
+
+rust_library(
+    name = "instant",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=instant",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.12",
+    deps = [
+        "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.io-lifetimes-1.0.10.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.io-lifetimes-1.0.10.bazel
new file mode 100644
index 0000000..48865a1
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.io-lifetimes-1.0.10.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "io_lifetimes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "close",
+        "hermit-abi",
+        "libc",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=io-lifetimes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.10",
+    deps = [
+        "@crates_vendor_manifests__io-lifetimes-1.0.10//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "io-lifetimes_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "close",
+        "hermit-abi",
+        "libc",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=io-lifetimes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.10",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "io-lifetimes_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.libc-0.2.142.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.libc-0.2.142.bazel
new file mode 100644
index 0000000..337ac7a
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.libc-0.2.142.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "extra_traits",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.142",
+    deps = [
+        "@crates_vendor_manifests__libc-0.2.142//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "extra_traits",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.142",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.linux-raw-sys-0.3.4.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.linux-raw-sys-0.3.4.bazel
new file mode 100644
index 0000000..29301c3
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.linux-raw-sys-0.3.4.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "linux_raw_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "errno",
+        "general",
+        "ioctl",
+        "no_std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=linux-raw-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.4",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.lock_api-0.4.9.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.lock_api-0.4.9.bazel
new file mode 100644
index 0000000..fd7b326
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.lock_api-0.4.9.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    deps = [
+        "@crates_vendor_manifests__lock_api-0.4.9//:build_script_build",
+        "@crates_vendor_manifests__scopeguard-1.1.0//:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "lock_api_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_manifests__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "lock_api_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.log-0.4.17.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.log-0.4.17.bazel
new file mode 100644
index 0000000..b044dee
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.log-0.4.17.bazel
@@ -0,0 +1,82 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "log",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.17",
+    deps = [
+        "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_manifests__log-0.4.17//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "log_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.17",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "log_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.mio-0.8.6.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.mio-0.8.6.bazel
new file mode 100644
index 0000000..b6f2d9c
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.mio-0.8.6.bazel
@@ -0,0 +1,128 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "net",
+        "os-ext",
+        "os-poll",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.6",
+    deps = [
+        "@crates_vendor_manifests__log-0.4.17//:log",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(target_os = "wasi")
+            "@crates_vendor_manifests__wasi-0.11.0-wasi-snapshot-preview1//:wasi",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.num_cpus-1.15.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.num_cpus-1.15.0.bazel
new file mode 100644
index 0000000..f4a7726
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.num_cpus-1.15.0.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=num_cpus",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.15.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.parking_lot-0.12.1.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.parking_lot-0.12.1.bazel
new file mode 100644
index 0000000..8e1a69f
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.parking_lot-0.12.1.bazel
@@ -0,0 +1,48 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.12.1",
+    deps = [
+        "@crates_vendor_manifests__lock_api-0.4.9//:lock_api",
+        "@crates_vendor_manifests__parking_lot_core-0.9.7//:parking_lot_core",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.7.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.7.bazel
new file mode 100644
index 0000000..48a046a
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.parking_lot_core-0.9.7.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.7",
+    deps = [
+        "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_manifests__parking_lot_core-0.9.7//:build_script_build",
+        "@crates_vendor_manifests__smallvec-1.10.0//:smallvec",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "parking_lot_core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.7",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "parking_lot_core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.pin-project-lite-0.2.9.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.pin-project-lite-0.2.9.bazel
new file mode 100644
index 0000000..d90fc09
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.pin-project-lite-0.2.9.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "pin_project_lite",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project-lite",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.9",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.56.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.56.bazel
new file mode 100644
index 0000000..1318326
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.proc-macro2-1.0.56.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.56",
+    deps = [
+        "@crates_vendor_manifests__proc-macro2-1.0.56//:build_script_build",
+        "@crates_vendor_manifests__unicode-ident-1.0.8//:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "proc-macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.56",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.quote-1.0.26.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.quote-1.0.26.bazel
new file mode 100644
index 0000000..4c21c2d
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.quote-1.0.26.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.26",
+    deps = [
+        "@crates_vendor_manifests__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_manifests__quote-1.0.26//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "quote_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.26",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "quote_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.redox_syscall-0.2.16.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.redox_syscall-0.2.16.bazel
new file mode 100644
index 0000000..418df83
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.redox_syscall-0.2.16.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.16",
+    deps = [
+        "@crates_vendor_manifests__bitflags-1.3.2//:bitflags",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.redox_syscall-0.3.5.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.redox_syscall-0.3.5.bazel
new file mode 100644
index 0000000..e6a948a
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.redox_syscall-0.3.5.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.5",
+    deps = [
+        "@crates_vendor_manifests__bitflags-1.3.2//:bitflags",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.rustix-0.37.14.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.rustix-0.37.14.bazel
new file mode 100644
index 0000000..432eeec
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.rustix-0.37.14.bazel
@@ -0,0 +1,294 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "rustix",
+    srcs = glob(["**/*.rs"]),
+    aliases = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-fuchsia": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-linux-android": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:armv7-linux-androideabi": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:i686-apple-darwin": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:i686-linux-android": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:i686-unknown-freebsd": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:wasm32-wasi": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-darwin": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-apple-ios": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-fuchsia": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-linux-android": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": {
+            "@crates_vendor_manifests__errno-0.3.1//:errno": "libc_errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        },
+        "//conditions:default": {},
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "fs",
+        "io-lifetimes",
+        "libc",
+        "std",
+        "use-libc-auxv",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.37.14",
+    deps = [
+        "@crates_vendor_manifests__bitflags-1.3.2//:bitflags",
+        "@crates_vendor_manifests__io-lifetimes-1.0.10//:io_lifetimes",
+        "@crates_vendor_manifests__rustix-0.37.14//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(any(target_os = "android", target_os = "linux"), any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64"))))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__windows-sys-0.48.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__errno-0.3.1//:errno",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(any(rustix_use_libc, miri, not(all(target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+            "@crates_vendor_manifests__linux-raw-sys-0.3.4//:linux_raw_sys",  # cfg(all(not(rustix_use_libc), not(miri), target_os = "linux", any(target_arch = "x86", all(target_arch = "x86_64", target_pointer_width = "64"), all(target_endian = "little", any(target_arch = "arm", all(target_arch = "aarch64", target_pointer_width = "64"), target_arch = "powerpc64", target_arch = "riscv64", target_arch = "mips", target_arch = "mips64")))))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "rustix_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "fs",
+        "io-lifetimes",
+        "libc",
+        "std",
+        "use-libc-auxv",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=rustix",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.37.14",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "rustix_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.scopeguard-1.1.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.scopeguard-1.1.0.bazel
new file mode 100644
index 0000000..7558cbf
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.scopeguard-1.1.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "scopeguard",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=scopeguard",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.1.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.1.bazel
new file mode 100644
index 0000000..c39ba46
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.signal-hook-registry-1.4.1.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "signal_hook_registry",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=signal-hook-registry",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.1",
+    deps = [
+        "@crates_vendor_manifests__libc-0.2.142//:libc",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.smallvec-1.10.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.smallvec-1.10.0.bazel
new file mode 100644
index 0000000..3d4dafb
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.smallvec-1.10.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "smallvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=smallvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.10.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.socket2-0.4.9.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.socket2-0.4.9.bazel
new file mode 100644
index 0000000..548dedf
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.socket2-0.4.9.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "socket2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "all",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=socket2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.syn-2.0.15.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.syn-2.0.15.bazel
new file mode 100644
index 0000000..157df97
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.syn-2.0.15.bazel
@@ -0,0 +1,57 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.15",
+    deps = [
+        "@crates_vendor_manifests__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_manifests__quote-1.0.26//:quote",
+        "@crates_vendor_manifests__unicode-ident-1.0.8//:unicode_ident",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tempfile-3.5.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tempfile-3.5.0.bazel
new file mode 100644
index 0000000..ce96b6c
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tempfile-3.5.0.bazel
@@ -0,0 +1,122 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "tempfile",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tempfile",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.5.0",
+    deps = [
+        "@crates_vendor_manifests__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_manifests__fastrand-1.9.0//:fastrand",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__rustix-0.37.14//:rustix",  # cfg(any(unix, target_os = "wasi"))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-1.27.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-1.27.0.bazel
new file mode 100644
index 0000000..2ff68b5
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-1.27.0.bazel
@@ -0,0 +1,267 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "test-util",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@crates_vendor_manifests__tokio-macros-2.0.0//:tokio_macros",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.27.0",
+    deps = [
+        "@crates_vendor_manifests__bytes-1.4.0//:bytes",
+        "@crates_vendor_manifests__mio-0.8.6//:mio",
+        "@crates_vendor_manifests__num_cpus-1.15.0//:num_cpus",
+        "@crates_vendor_manifests__parking_lot-0.12.1//:parking_lot",
+        "@crates_vendor_manifests__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_manifests__tokio-1.27.0//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_manifests__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_manifests__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_manifests__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tokio_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "test-util",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.27.0",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_manifests__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tokio_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-macros-2.0.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-macros-2.0.0.bazel
new file mode 100644
index 0000000..a303369
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-macros-2.0.0.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tokio_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.0",
+    deps = [
+        "@crates_vendor_manifests__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_manifests__quote-1.0.26//:quote",
+        "@crates_vendor_manifests__syn-2.0.15//:syn",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.12.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.12.bazel
new file mode 100644
index 0000000..5545678
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-stream-0.1.12.bazel
@@ -0,0 +1,50 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_stream",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "time",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-stream",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.12",
+    deps = [
+        "@crates_vendor_manifests__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_manifests__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_manifests__tokio-1.27.0//:tokio",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-test-0.4.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-test-0.4.2.bazel
new file mode 100644
index 0000000..ce306c8
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.tokio-test-0.4.2.bazel
@@ -0,0 +1,48 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_test",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-test",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.2",
+    deps = [
+        "@crates_vendor_manifests__async-stream-0.3.5//:async_stream",
+        "@crates_vendor_manifests__bytes-1.4.0//:bytes",
+        "@crates_vendor_manifests__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_manifests__tokio-1.27.0//:tokio",
+        "@crates_vendor_manifests__tokio-stream-0.1.12//:tokio_stream",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.8.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.8.bazel
new file mode 100644
index 0000000..82d9611
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.unicode-ident-1.0.8.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# ])
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-ident",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.8",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
new file mode 100644
index 0000000..fefb591
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "wasi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=wasi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.11.0+wasi-snapshot-preview1",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-0.3.9.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-0.3.9.bazel
new file mode 100644
index 0000000..2877797
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-0.3.9.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "handleapi",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.9",
+    deps = [
+        "@crates_vendor_manifests__winapi-0.3.9//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "winapi_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "handleapi",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.9",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "winapi_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..9959991
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_i686_pc_windows_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+        "@crates_vendor_manifests__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "winapi-i686-pc-windows-gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "winapi-i686-pc-windows-gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..9b4b134
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_x86_64_pc_windows_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+        "@crates_vendor_manifests__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "winapi-x86_64-pc-windows-gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "winapi-x86_64-pc-windows-gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-sys-0.45.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-sys-0.45.0.bazel
new file mode 100644
index 0000000..3231c90
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-sys-0.45.0.bazel
@@ -0,0 +1,147 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_Networking",
+        "Win32_Networking_WinSock",
+        "Win32_Security",
+        "Win32_Security_Authorization",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Console",
+        "Win32_System_IO",
+        "Win32_System_LibraryLoader",
+        "Win32_System_Pipes",
+        "Win32_System_SystemServices",
+        "Win32_System_Threading",
+        "Win32_System_WindowsProgramming",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.45.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-sys-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-sys-0.48.0.bazel
new file mode 100644
index 0000000..34d56e1
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-sys-0.48.0.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows-targets-0.48.0//:windows_targets",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-targets-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-targets-0.42.2.bazel
new file mode 100644
index 0000000..18646cd
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-targets-0.42.2.bazel
@@ -0,0 +1,53 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_targets",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-targets",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows_aarch64_msvc-0.42.2//:windows_aarch64_msvc",  # aarch64-pc-windows-msvc
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows_i686_msvc-0.42.2//:windows_i686_msvc",  # i686-pc-windows-msvc
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows_x86_64_msvc-0.42.2//:windows_x86_64_msvc",  # x86_64-pc-windows-msvc
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-targets-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-targets-0.48.0.bazel
new file mode 100644
index 0000000..9c10524
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows-targets-0.48.0.bazel
@@ -0,0 +1,59 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_targets",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-targets",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows_aarch64_msvc-0.48.0//:windows_aarch64_msvc",  # cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows_i686_msvc-0.48.0//:windows_i686_msvc",  # cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_manifests__windows_i686_gnu-0.48.0//:windows_i686_gnu",  # cfg(all(target_arch = "x86", target_env = "gnu", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_manifests__windows_x86_64_msvc-0.48.0//:windows_x86_64_msvc",  # cfg(all(target_arch = "x86_64", target_env = "msvc", not(windows_raw_dylib)))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_manifests__windows_x86_64_gnu-0.48.0//:windows_x86_64_gnu",  # cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.42.2.bazel
new file mode 100644
index 0000000..25c95be
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_manifests__windows_aarch64_gnullvm-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
new file mode 100644
index 0000000..699007d
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_gnullvm-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows_aarch64_gnullvm-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.42.2.bazel
new file mode 100644
index 0000000..fe2af60
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_manifests__windows_aarch64_msvc-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
new file mode 100644
index 0000000..1768135
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_aarch64_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows_aarch64_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.42.2.bazel
new file mode 100644
index 0000000..c3a59a5
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_manifests__windows_i686_gnu-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.48.0.bazel
new file mode 100644
index 0000000..d6bd7cd
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_gnu-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows_i686_gnu-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.42.2.bazel
new file mode 100644
index 0000000..8fc09b2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_manifests__windows_i686_msvc-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.48.0.bazel
new file mode 100644
index 0000000..22a8d64
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_i686_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows_i686_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.42.2.bazel
new file mode 100644
index 0000000..8234aeb
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_manifests__windows_x86_64_gnu-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
new file mode 100644
index 0000000..8960c64
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnu-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows_x86_64_gnu-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.42.2.bazel
new file mode 100644
index 0000000..e64e261
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_manifests__windows_x86_64_gnullvm-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
new file mode 100644
index 0000000..22481c7
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_gnullvm-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows_x86_64_gnullvm-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.42.2.bazel
new file mode 100644
index 0000000..4b364d5
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_manifests__windows_x86_64_msvc-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
new file mode 100644
index 0000000..de017f4
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/BUILD.windows_x86_64_msvc-0.48.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    deps = [
+        "@crates_vendor_manifests__windows_x86_64_msvc-0.48.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.48.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/crates.bzl b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/crates.bzl
new file mode 100644
index 0000000..0231fce
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/crates.bzl
@@ -0,0 +1,24 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+"""Rules for defining repositories for remote `crates_vendor` repositories"""
+
+# buildifier: disable=bzl-visibility
+load("@//vendor_remote_manifests/crates:defs.bzl", _crate_repositories = "crate_repositories")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
+
+def crate_repositories():
+    maybe(
+        crates_vendor_remote_repository,
+        name = "crates_vendor_manifests",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.bazel"),
+        defs_module = Label("@//vendor_remote_manifests/crates:defs.bzl"),
+    )
+
+    _crate_repositories()
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/crates/defs.bzl b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/defs.bzl
new file mode 100644
index 0000000..07bf7b2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/crates/defs.bzl
@@ -0,0 +1,1024 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_manifests:crates_vendor
+###############################################################################
+"""
+# `crates_repository` API
+
+- [aliases](#aliases)
+- [crate_deps](#crate_deps)
+- [all_crate_deps](#all_crate_deps)
+- [crate_repositories](#crate_repositories)
+
+"""
+
+load("@bazel_skylib//lib:selects.bzl", "selects")
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+###############################################################################
+# MACROS API
+###############################################################################
+
+# An identifier that represent common dependencies (unconditional).
+_COMMON_CONDITION = ""
+
+def _flatten_dependency_maps(all_dependency_maps):
+    """Flatten a list of dependency maps into one dictionary.
+
+    Dependency maps have the following structure:
+
+    ```python
+    DEPENDENCIES_MAP = {
+        # The first key in the map is a Bazel package
+        # name of the workspace this file is defined in.
+        "workspace_member_package": {
+
+            # Not all dependencies are supported for all platforms.
+            # the condition key is the condition required to be true
+            # on the host platform.
+            "condition": {
+
+                # An alias to a crate target.     # The label of the crate target the
+                # Aliases are only crate names.   # package name refers to.
+                "package_name":                   "@full//:label",
+            }
+        }
+    }
+    ```
+
+    Args:
+        all_dependency_maps (list): A list of dicts as described above
+
+    Returns:
+        dict: A dictionary as described above
+    """
+    dependencies = {}
+
+    for workspace_deps_map in all_dependency_maps:
+        for pkg_name, conditional_deps_map in workspace_deps_map.items():
+            if pkg_name not in dependencies:
+                non_frozen_map = dict()
+                for key, values in conditional_deps_map.items():
+                    non_frozen_map.update({key: dict(values.items())})
+                dependencies.setdefault(pkg_name, non_frozen_map)
+                continue
+
+            for condition, deps_map in conditional_deps_map.items():
+                # If the condition has not been recorded, do so and continue
+                if condition not in dependencies[pkg_name]:
+                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
+                    continue
+
+                # Alert on any miss-matched dependencies
+                inconsistent_entries = []
+                for crate_name, crate_label in deps_map.items():
+                    existing = dependencies[pkg_name][condition].get(crate_name)
+                    if existing and existing != crate_label:
+                        inconsistent_entries.append((crate_name, existing, crate_label))
+                    dependencies[pkg_name][condition].update({crate_name: crate_label})
+
+    return dependencies
+
+def crate_deps(deps, package_name = None):
+    """Finds the fully qualified label of the requested crates for the package where this macro is called.
+
+    Args:
+        deps (list): The desired list of crate targets.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()`.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if not deps:
+        return []
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Join both sets of dependencies
+    dependencies = _flatten_dependency_maps([
+        _NORMAL_DEPENDENCIES,
+        _NORMAL_DEV_DEPENDENCIES,
+        _PROC_MACRO_DEPENDENCIES,
+        _PROC_MACRO_DEV_DEPENDENCIES,
+        _BUILD_DEPENDENCIES,
+        _BUILD_PROC_MACRO_DEPENDENCIES,
+    ]).pop(package_name, {})
+
+    # Combine all conditional packages so we can easily index over a flat list
+    # TODO: Perhaps this should actually return select statements and maintain
+    # the conditionals of the dependencies
+    flat_deps = {}
+    for deps_set in dependencies.values():
+        for crate_name, crate_label in deps_set.items():
+            flat_deps.update({crate_name: crate_label})
+
+    missing_crates = []
+    crate_targets = []
+    for crate_target in deps:
+        if crate_target not in flat_deps:
+            missing_crates.append(crate_target)
+        else:
+            crate_targets.append(flat_deps[crate_target])
+
+    if missing_crates:
+        fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
+            missing_crates,
+            package_name,
+            dependencies,
+        ))
+
+    return crate_targets
+
+def all_crate_deps(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Finds the fully qualified label of all requested direct crate dependencies \
+    for the package where this macro is called.
+
+    If no parameters are set, all normal dependencies are returned. Setting any one flag will
+    otherwise impact the contents of the returned list.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normal dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_dependency_maps = []
+    if normal:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+    if normal_dev:
+        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
+    if proc_macro:
+        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
+    if proc_macro_dev:
+        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
+    if build:
+        all_dependency_maps.append(_BUILD_DEPENDENCIES)
+    if build_proc_macro:
+        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
+
+    # Default to always using normal dependencies
+    if not all_dependency_maps:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+
+    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
+
+    if not dependencies:
+        if dependencies == None:
+            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
+        else:
+            return []
+
+    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
+    for condition, deps in dependencies.items():
+        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+
+    return crate_deps
+
+def aliases(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Produces a map of Crate alias names to their original label
+
+    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
+    Setting any one flag will otherwise determine the contents of the returned dict.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normal dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        dict: The aliases of all associated packages
+    """
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_aliases_maps = []
+    if normal:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+    if normal_dev:
+        all_aliases_maps.append(_NORMAL_DEV_ALIASES)
+    if proc_macro:
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+    if proc_macro_dev:
+        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
+    if build:
+        all_aliases_maps.append(_BUILD_ALIASES)
+    if build_proc_macro:
+        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
+
+    # Default to always using normal aliases
+    if not all_aliases_maps:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+
+    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
+
+    if not aliases:
+        return dict()
+
+    common_items = aliases.pop(_COMMON_CONDITION, {}).items()
+
+    # If there are only common items in the dictionary, immediately return them
+    if not len(aliases.keys()) == 1:
+        return dict(common_items)
+
+    # Build a single select statement where each conditional has accounted for the
+    # common set of aliases.
+    crate_aliases = {"//conditions:default": common_items}
+    for condition, deps in aliases.items():
+        condition_triples = _CONDITIONS[condition]
+        if condition_triples in crate_aliases:
+            crate_aliases[condition_triples].update(deps)
+        else:
+            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+
+    return selects.with_or(crate_aliases)
+
+###############################################################################
+# WORKSPACE MEMBER DEPS AND ALIASES
+###############################################################################
+
+_NORMAL_DEPENDENCIES = {
+    "vendor_remote_manifests": {
+        _COMMON_CONDITION: {
+            "tokio": "@crates_vendor_manifests__tokio-1.27.0//:tokio",
+        },
+    },
+}
+
+_NORMAL_ALIASES = {
+    "vendor_remote_manifests": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_NORMAL_DEV_DEPENDENCIES = {
+    "vendor_remote_manifests": {
+        _COMMON_CONDITION: {
+            "tempfile": "@crates_vendor_manifests__tempfile-3.5.0//:tempfile",
+            "tokio-test": "@crates_vendor_manifests__tokio-test-0.4.2//:tokio_test",
+        },
+    },
+}
+
+_NORMAL_DEV_ALIASES = {
+    "vendor_remote_manifests": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_PROC_MACRO_DEPENDENCIES = {
+    "vendor_remote_manifests": {
+    },
+}
+
+_PROC_MACRO_ALIASES = {
+    "vendor_remote_manifests": {
+    },
+}
+
+_PROC_MACRO_DEV_DEPENDENCIES = {
+    "vendor_remote_manifests": {
+    },
+}
+
+_PROC_MACRO_DEV_ALIASES = {
+    "vendor_remote_manifests": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_BUILD_DEPENDENCIES = {
+    "vendor_remote_manifests": {
+    },
+}
+
+_BUILD_ALIASES = {
+    "vendor_remote_manifests": {
+    },
+}
+
+_BUILD_PROC_MACRO_DEPENDENCIES = {
+    "vendor_remote_manifests": {
+    },
+}
+
+_BUILD_PROC_MACRO_ALIASES = {
+    "vendor_remote_manifests": {
+    },
+}
+
+_CONDITIONS = {
+    "aarch64-pc-windows-gnullvm": [],
+    "aarch64-pc-windows-msvc": ["aarch64-pc-windows-msvc"],
+    "aarch64-uwp-windows-msvc": [],
+    "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
+    "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["aarch64-linux-android", "armv7-linux-androideabi", "i686-linux-android", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-linux-android"],
+    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-unknown-linux-gnueabi", "i686-unknown-linux-gnu", "x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["aarch64-pc-windows-msvc"],
+    "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": ["wasm32-unknown-unknown"],
+    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["i686-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["i686-pc-windows-msvc"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["x86_64-unknown-linux-gnu"],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
+    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["x86_64-pc-windows-msvc"],
+    "cfg(any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "armv7-linux-androideabi", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd"],
+    "cfg(any(unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(not(windows_raw_dylib))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(target_os = \"dragonfly\")": [],
+    "cfg(target_os = \"hermit\")": [],
+    "cfg(target_os = \"redox\")": [],
+    "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "i686-pc-windows-gnu": [],
+    "i686-pc-windows-msvc": ["i686-pc-windows-msvc"],
+    "i686-uwp-windows-gnu": [],
+    "i686-uwp-windows-msvc": [],
+    "x86_64-pc-windows-gnu": [],
+    "x86_64-pc-windows-gnullvm": [],
+    "x86_64-pc-windows-msvc": ["x86_64-pc-windows-msvc"],
+    "x86_64-uwp-windows-gnu": [],
+    "x86_64-uwp-windows-msvc": [],
+}
+
+###############################################################################
+
+def crate_repositories():
+    """A macro for defining repositories for all generated crates"""
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__async-stream-0.3.5",
+        sha256 = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/async-stream/0.3.5/download"],
+        strip_prefix = "async-stream-0.3.5",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.async-stream-0.3.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__async-stream-impl-0.3.5",
+        sha256 = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/async-stream-impl/0.3.5/download"],
+        strip_prefix = "async-stream-impl-0.3.5",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.async-stream-impl-0.3.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__autocfg-1.1.0",
+        sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"],
+        strip_prefix = "autocfg-1.1.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.autocfg-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__bitflags-1.3.2",
+        sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
+        strip_prefix = "bitflags-1.3.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.bitflags-1.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__bytes-1.4.0",
+        sha256 = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bytes/1.4.0/download"],
+        strip_prefix = "bytes-1.4.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.bytes-1.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__cc-1.0.79",
+        sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cc/1.0.79/download"],
+        strip_prefix = "cc-1.0.79",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.cc-1.0.79.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__cfg-if-1.0.0",
+        sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"],
+        strip_prefix = "cfg-if-1.0.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.cfg-if-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__errno-0.3.1",
+        sha256 = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/errno/0.3.1/download"],
+        strip_prefix = "errno-0.3.1",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.errno-0.3.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__errno-dragonfly-0.1.2",
+        sha256 = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download"],
+        strip_prefix = "errno-dragonfly-0.1.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.errno-dragonfly-0.1.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__fastrand-1.9.0",
+        sha256 = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/fastrand/1.9.0/download"],
+        strip_prefix = "fastrand-1.9.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.fastrand-1.9.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__futures-core-0.3.28",
+        sha256 = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-core/0.3.28/download"],
+        strip_prefix = "futures-core-0.3.28",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.futures-core-0.3.28.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__hermit-abi-0.2.6",
+        sha256 = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.2.6/download"],
+        strip_prefix = "hermit-abi-0.2.6",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.hermit-abi-0.2.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__hermit-abi-0.3.1",
+        sha256 = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.3.1/download"],
+        strip_prefix = "hermit-abi-0.3.1",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.hermit-abi-0.3.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__instant-0.1.12",
+        sha256 = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/instant/0.1.12/download"],
+        strip_prefix = "instant-0.1.12",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.instant-0.1.12.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__io-lifetimes-1.0.10",
+        sha256 = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/io-lifetimes/1.0.10/download"],
+        strip_prefix = "io-lifetimes-1.0.10",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.io-lifetimes-1.0.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__libc-0.2.142",
+        sha256 = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.142/download"],
+        strip_prefix = "libc-0.2.142",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.libc-0.2.142.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__linux-raw-sys-0.3.4",
+        sha256 = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/linux-raw-sys/0.3.4/download"],
+        strip_prefix = "linux-raw-sys-0.3.4",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.linux-raw-sys-0.3.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__lock_api-0.4.9",
+        sha256 = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.9/download"],
+        strip_prefix = "lock_api-0.4.9",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.lock_api-0.4.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__log-0.4.17",
+        sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
+        strip_prefix = "log-0.4.17",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.log-0.4.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__mio-0.8.6",
+        sha256 = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/mio/0.8.6/download"],
+        strip_prefix = "mio-0.8.6",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.mio-0.8.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__num_cpus-1.15.0",
+        sha256 = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num_cpus/1.15.0/download"],
+        strip_prefix = "num_cpus-1.15.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.num_cpus-1.15.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__parking_lot-0.12.1",
+        sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot/0.12.1/download"],
+        strip_prefix = "parking_lot-0.12.1",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.parking_lot-0.12.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__parking_lot_core-0.9.7",
+        sha256 = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.7/download"],
+        strip_prefix = "parking_lot_core-0.9.7",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.parking_lot_core-0.9.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__pin-project-lite-0.2.9",
+        sha256 = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download"],
+        strip_prefix = "pin-project-lite-0.2.9",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.pin-project-lite-0.2.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__proc-macro2-1.0.56",
+        sha256 = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.56/download"],
+        strip_prefix = "proc-macro2-1.0.56",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.proc-macro2-1.0.56.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__quote-1.0.26",
+        sha256 = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/quote/1.0.26/download"],
+        strip_prefix = "quote-1.0.26",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.quote-1.0.26.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__redox_syscall-0.2.16",
+        sha256 = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.2.16/download"],
+        strip_prefix = "redox_syscall-0.2.16",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.redox_syscall-0.2.16.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__redox_syscall-0.3.5",
+        sha256 = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.3.5/download"],
+        strip_prefix = "redox_syscall-0.3.5",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.redox_syscall-0.3.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__rustix-0.37.14",
+        sha256 = "d9b864d3c18a5785a05953adeed93e2dca37ed30f18e69bba9f30079d51f363f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rustix/0.37.14/download"],
+        strip_prefix = "rustix-0.37.14",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.rustix-0.37.14.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__scopeguard-1.1.0",
+        sha256 = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/scopeguard/1.1.0/download"],
+        strip_prefix = "scopeguard-1.1.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.scopeguard-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__signal-hook-registry-1.4.1",
+        sha256 = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download"],
+        strip_prefix = "signal-hook-registry-1.4.1",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.signal-hook-registry-1.4.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__smallvec-1.10.0",
+        sha256 = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/smallvec/1.10.0/download"],
+        strip_prefix = "smallvec-1.10.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.smallvec-1.10.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__socket2-0.4.9",
+        sha256 = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/socket2/0.4.9/download"],
+        strip_prefix = "socket2-0.4.9",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.socket2-0.4.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__syn-2.0.15",
+        sha256 = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/syn/2.0.15/download"],
+        strip_prefix = "syn-2.0.15",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.syn-2.0.15.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__tempfile-3.5.0",
+        sha256 = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tempfile/3.5.0/download"],
+        strip_prefix = "tempfile-3.5.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.tempfile-3.5.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__tokio-1.27.0",
+        sha256 = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio/1.27.0/download"],
+        strip_prefix = "tokio-1.27.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.tokio-1.27.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__tokio-macros-2.0.0",
+        sha256 = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-macros/2.0.0/download"],
+        strip_prefix = "tokio-macros-2.0.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.tokio-macros-2.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__tokio-stream-0.1.12",
+        sha256 = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-stream/0.1.12/download"],
+        strip_prefix = "tokio-stream-0.1.12",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.tokio-stream-0.1.12.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__tokio-test-0.4.2",
+        sha256 = "53474327ae5e166530d17f2d956afcb4f8a004de581b3cae10f12006bc8163e3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-test/0.4.2/download"],
+        strip_prefix = "tokio-test-0.4.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.tokio-test-0.4.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__unicode-ident-1.0.8",
+        sha256 = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.8/download"],
+        strip_prefix = "unicode-ident-1.0.8",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.unicode-ident-1.0.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__wasi-0.11.0-wasi-snapshot-preview1",
+        sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
+        strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__winapi-0.3.9",
+        sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
+        strip_prefix = "winapi-0.3.9",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.winapi-0.3.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__winapi-i686-pc-windows-gnu-0.4.0",
+        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__winapi-x86_64-pc-windows-gnu-0.4.0",
+        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows-sys-0.45.0",
+        sha256 = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-sys/0.45.0/download"],
+        strip_prefix = "windows-sys-0.45.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows-sys-0.45.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows-sys-0.48.0",
+        sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-sys/0.48.0/download"],
+        strip_prefix = "windows-sys-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows-sys-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows-targets-0.42.2",
+        sha256 = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-targets/0.42.2/download"],
+        strip_prefix = "windows-targets-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows-targets-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows-targets-0.48.0",
+        sha256 = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-targets/0.48.0/download"],
+        strip_prefix = "windows-targets-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows-targets-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_aarch64_gnullvm-0.42.2",
+        sha256 = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.42.2/download"],
+        strip_prefix = "windows_aarch64_gnullvm-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_aarch64_gnullvm-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_aarch64_gnullvm-0.48.0",
+        sha256 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download"],
+        strip_prefix = "windows_aarch64_gnullvm-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_aarch64_msvc-0.42.2",
+        sha256 = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.42.2/download"],
+        strip_prefix = "windows_aarch64_msvc-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_aarch64_msvc-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_aarch64_msvc-0.48.0",
+        sha256 = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download"],
+        strip_prefix = "windows_aarch64_msvc-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_i686_gnu-0.42.2",
+        sha256 = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.42.2/download"],
+        strip_prefix = "windows_i686_gnu-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_i686_gnu-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_i686_gnu-0.48.0",
+        sha256 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download"],
+        strip_prefix = "windows_i686_gnu-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_i686_gnu-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_i686_msvc-0.42.2",
+        sha256 = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.42.2/download"],
+        strip_prefix = "windows_i686_msvc-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_i686_msvc-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_i686_msvc-0.48.0",
+        sha256 = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download"],
+        strip_prefix = "windows_i686_msvc-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_i686_msvc-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_x86_64_gnu-0.42.2",
+        sha256 = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.42.2/download"],
+        strip_prefix = "windows_x86_64_gnu-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_x86_64_gnu-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_x86_64_gnu-0.48.0",
+        sha256 = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download"],
+        strip_prefix = "windows_x86_64_gnu-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_x86_64_gnullvm-0.42.2",
+        sha256 = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.42.2/download"],
+        strip_prefix = "windows_x86_64_gnullvm-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_x86_64_gnullvm-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_x86_64_gnullvm-0.48.0",
+        sha256 = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download"],
+        strip_prefix = "windows_x86_64_gnullvm-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_x86_64_msvc-0.42.2",
+        sha256 = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.42.2/download"],
+        strip_prefix = "windows_x86_64_msvc-0.42.2",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_x86_64_msvc-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_manifests__windows_x86_64_msvc-0.48.0",
+        sha256 = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download"],
+        strip_prefix = "windows_x86_64_msvc-0.48.0",
+        build_file = Label("@//vendor_remote_manifests/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel"),
+    )
diff --git a/examples/crate_universe_unnamed/vendor_remote_manifests/src/lib.rs b/examples/crate_universe_unnamed/vendor_remote_manifests/src/lib.rs
new file mode 100644
index 0000000..0e49d04
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_manifests/src/lib.rs
@@ -0,0 +1,44 @@
+use std::path::Path;
+
+use tokio::fs::File;
+use tokio::io::{AsyncBufReadExt, BufReader};
+
+pub async fn fill_buf_file(path: &Path) -> Vec<u8> {
+    let file = File::open(path).await.unwrap();
+    let mut file = BufReader::new(file);
+
+    let mut contents = Vec::new();
+
+    loop {
+        let consumed = {
+            let buffer = file.fill_buf().await.unwrap();
+            if buffer.is_empty() {
+                break;
+            }
+            contents.extend_from_slice(buffer);
+            buffer.len()
+        };
+
+        file.consume(consumed);
+    }
+
+    contents
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    use tempfile::NamedTempFile;
+    use tokio_test::assert_ok;
+
+    #[tokio::test]
+    async fn test_fill_buf_file() {
+        let file = NamedTempFile::new().unwrap();
+        assert_ok!(std::fs::write(file.path(), b"hello"));
+
+        let contents = fill_buf_file(file.path()).await;
+
+        assert_eq!(contents, b"hello");
+    }
+}
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/BUILD.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/BUILD.bazel
new file mode 100644
index 0000000..747d334
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/BUILD.bazel
@@ -0,0 +1,76 @@
+load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_vendor")
+load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_test")
+
+crates_vendor(
+    name = "crates_vendor",
+    annotations = {
+        "axum": [crate.annotation(
+            compile_data_glob = ["**/*.md"],
+        )],
+    },
+    mode = "remote",
+    packages = {
+        "axum": crate.spec(
+            version = "0.4.0",
+        ),
+        "hyper": crate.spec(
+            features = ["full"],
+            version = "0.14.22",
+        ),
+        "mime": crate.spec(
+            version = "0.3",
+        ),
+        "serde_json": crate.spec(
+            version = "1.0",
+        ),
+        # TODO: This dependency is added and pinned forward due to the
+        # following issue: https://github.com/hyperium/hyper/issues/3038
+        "socket2": crate.spec(
+            features = ["all"],
+            version = "0.4.7",
+        ),
+        "tokio": crate.spec(
+            features = ["full"],
+            version = "1.26.1",
+        ),
+        "tower": crate.spec(
+            features = ["util"],
+            version = "0.4",
+        ),
+        "tower-http": crate.spec(
+            features = ["trace"],
+            version = "0.2.1",
+        ),
+        "tracing": crate.spec(
+            version = "0.1",
+        ),
+        "tracing-subscriber": crate.spec(
+            version = "0.3",
+        ),
+    },
+    repository_name = "crates_vendor_pkgs",
+)
+
+rust_binary(
+    name = "vendor_remote",
+    srcs = glob(["**/*.rs"]),
+    edition = "2018",
+    deps = [
+        "@crates_vendor_pkgs//:axum",
+        "@crates_vendor_pkgs//:hyper",
+        "@crates_vendor_pkgs//:mime",
+        "@crates_vendor_pkgs//:serde_json",
+        "@crates_vendor_pkgs//:tokio",
+        "@crates_vendor_pkgs//:tower",
+        "@crates_vendor_pkgs//:tower-http",
+        "@crates_vendor_pkgs//:tracing",
+        "@crates_vendor_pkgs//:tracing-subscriber",
+    ],
+)
+
+rust_test(
+    name = "unit_test",
+    srcs = glob(["**/*.rs"]),
+    crate = ":vendor_remote",
+    edition = "2018",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.68.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.68.bazel
new file mode 100644
index 0000000..970b064
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.async-trait-0.1.68.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_proc_macro(
+    name = "async_trait",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-trait",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.68",
+    deps = [
+        "@crates_vendor_pkgs__async-trait-0.1.68//:build_script_build",
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.26//:quote",
+        "@crates_vendor_pkgs__syn-2.0.15//:syn",
+    ],
+)
+
+cargo_build_script(
+    name = "async-trait_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=async-trait",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.68",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "async-trait_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.autocfg-1.1.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.autocfg-1.1.0.bazel
new file mode 100644
index 0000000..5060e09
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.autocfg-1.1.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "autocfg",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=autocfg",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.axum-0.4.8.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.axum-0.4.8.bazel
new file mode 100644
index 0000000..9a82480
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.axum-0.4.8.bazel
@@ -0,0 +1,77 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "axum",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = [
+            "**",
+            "**/*.md",
+        ],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "http1",
+        "json",
+        "serde_json",
+        "tower-log",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__async-trait-0.1.68//:async_trait",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=axum",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.8",
+    deps = [
+        "@crates_vendor_pkgs__axum-core-0.1.2//:axum_core",
+        "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__hyper-0.14.26//:hyper",
+        "@crates_vendor_pkgs__matchit-0.4.6//:matchit",
+        "@crates_vendor_pkgs__memchr-2.5.0//:memchr",
+        "@crates_vendor_pkgs__mime-0.3.17//:mime",
+        "@crates_vendor_pkgs__percent-encoding-2.2.0//:percent_encoding",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__serde-1.0.160//:serde",
+        "@crates_vendor_pkgs__serde_json-1.0.96//:serde_json",
+        "@crates_vendor_pkgs__serde_urlencoded-0.7.1//:serde_urlencoded",
+        "@crates_vendor_pkgs__sync_wrapper-0.1.2//:sync_wrapper",
+        "@crates_vendor_pkgs__tokio-1.27.0//:tokio",
+        "@crates_vendor_pkgs__tower-0.4.13//:tower",
+        "@crates_vendor_pkgs__tower-http-0.2.5//:tower_http",
+        "@crates_vendor_pkgs__tower-layer-0.3.2//:tower_layer",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.axum-core-0.1.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.axum-core-0.1.2.bazel
new file mode 100644
index 0000000..0460bd0
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.axum-core-0.1.2.bazel
@@ -0,0 +1,51 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "axum_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__async-trait-0.1.68//:async_trait",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=axum-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__mime-0.3.17//:mime",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bazel
new file mode 100644
index 0000000..0f85a45
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+package(default_visibility = ["//visibility:public"])
+
+exports_files(
+    [
+        "cargo-bazel.json",
+        "crates.bzl",
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "*.bazel",
+        "*.bzl",
+    ]),
+)
+
+# Workspace Member Dependencies
+alias(
+    name = "axum",
+    actual = "@crates_vendor_pkgs__axum-0.4.8//:axum",
+    tags = ["manual"],
+)
+
+alias(
+    name = "hyper",
+    actual = "@crates_vendor_pkgs__hyper-0.14.26//:hyper",
+    tags = ["manual"],
+)
+
+alias(
+    name = "mime",
+    actual = "@crates_vendor_pkgs__mime-0.3.17//:mime",
+    tags = ["manual"],
+)
+
+alias(
+    name = "serde_json",
+    actual = "@crates_vendor_pkgs__serde_json-1.0.96//:serde_json",
+    tags = ["manual"],
+)
+
+alias(
+    name = "socket2",
+    actual = "@crates_vendor_pkgs__socket2-0.4.9//:socket2",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tokio",
+    actual = "@crates_vendor_pkgs__tokio-1.27.0//:tokio",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tower",
+    actual = "@crates_vendor_pkgs__tower-0.4.13//:tower",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tower-http",
+    actual = "@crates_vendor_pkgs__tower-http-0.2.5//:tower_http",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tracing",
+    actual = "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tracing-subscriber",
+    actual = "@crates_vendor_pkgs__tracing-subscriber-0.3.17//:tracing_subscriber",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bitflags-1.3.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bitflags-1.3.2.bazel
new file mode 100644
index 0000000..0eb0409
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bitflags-1.3.2.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bitflags",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.3.2",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bytes-1.4.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bytes-1.4.0.bazel
new file mode 100644
index 0000000..c168238
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.bytes-1.4.0.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=bytes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.cfg-if-1.0.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..5ed953b
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "cfg_if",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=cfg-if",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.fnv-1.0.7.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.fnv-1.0.7.bazel
new file mode 100644
index 0000000..3078f20
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.fnv-1.0.7.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 / MIT
+# ])
+
+rust_library(
+    name = "fnv",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=fnv",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.7",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.1.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.1.0.bazel
new file mode 100644
index 0000000..390f83e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.form_urlencoded-1.1.0.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "form_urlencoded",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=form_urlencoded",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+    deps = [
+        "@crates_vendor_pkgs__percent-encoding-2.2.0//:percent_encoding",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.28.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.28.bazel
new file mode 100644
index 0000000..4364f46
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-channel-0.3.28.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_channel",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-channel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-channel-0.3.28//:build_script_build",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-channel_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-channel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-channel_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.28.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.28.bazel
new file mode 100644
index 0000000..2fa76b9
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-core-0.3.28.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-core-0.3.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.28.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.28.bazel
new file mode 100644
index 0000000..63e7843
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-sink-0.3.28.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_sink",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-sink",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.28.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.28.bazel
new file mode 100644
index 0000000..6011e41
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-task-0.3.28.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_task",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-task",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-task-0.3.28//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-task_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-task",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-task_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.28.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.28.bazel
new file mode 100644
index 0000000..c4e86f0
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.futures-util-0.3.28.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_util",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    deps = [
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-task-0.3.28//:futures_task",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:build_script_build",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__pin-utils-0.1.0//:pin_utils",
+    ],
+)
+
+cargo_build_script(
+    name = "futures-util_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=futures-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.28",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "futures-util_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.h2-0.3.18.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.h2-0.3.18.bazel
new file mode 100644
index 0000000..02bc151
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.h2-0.3.18.bazel
@@ -0,0 +1,54 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "h2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=h2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.18",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__fnv-1.0.7//:fnv",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-sink-0.3.28//:futures_sink",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__indexmap-1.9.3//:indexmap",
+        "@crates_vendor_pkgs__slab-0.4.8//:slab",
+        "@crates_vendor_pkgs__tokio-1.27.0//:tokio",
+        "@crates_vendor_pkgs__tokio-util-0.7.7//:tokio_util",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hashbrown-0.12.3.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hashbrown-0.12.3.bazel
new file mode 100644
index 0000000..927a5be
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hashbrown-0.12.3.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "hashbrown",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "raw",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hashbrown",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.12.3",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.2.6.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.2.6.bazel
new file mode 100644
index 0000000..b9f5538
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hermit-abi-0.2.6.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hermit-abi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.6",
+    deps = [
+        "@crates_vendor_pkgs__libc-0.2.142//:libc",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-0.2.9.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-0.2.9.bazel
new file mode 100644
index 0000000..a55509d
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-0.2.9.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "http",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=http",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.9",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__fnv-1.0.7//:fnv",
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-body-0.4.5.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-body-0.4.5.bazel
new file mode 100644
index 0000000..87e1b03
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-body-0.4.5.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "http_body",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=http-body",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.5",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-range-header-0.3.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-range-header-0.3.0.bazel
new file mode 100644
index 0000000..00a7e59
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.http-range-header-0.3.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "http_range_header",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=http-range-header",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.httparse-1.8.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.httparse-1.8.0.bazel
new file mode 100644
index 0000000..2a8425c
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.httparse-1.8.0.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "httparse",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=httparse",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.8.0",
+    deps = [
+        "@crates_vendor_pkgs__httparse-1.8.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "httparse_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=httparse",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.8.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "httparse_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.httpdate-1.0.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.httpdate-1.0.2.bazel
new file mode 100644
index 0000000..a06164e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.httpdate-1.0.2.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "httpdate",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=httpdate",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.2",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hyper-0.14.26.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hyper-0.14.26.bazel
new file mode 100644
index 0000000..e89b9fc
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.hyper-0.14.26.bazel
@@ -0,0 +1,72 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "hyper",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "client",
+        "default",
+        "full",
+        "h2",
+        "http1",
+        "http2",
+        "runtime",
+        "server",
+        "socket2",
+        "stream",
+        "tcp",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=hyper",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.14.26",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-channel-0.3.28//:futures_channel",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__h2-0.3.18//:h2",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__httparse-1.8.0//:httparse",
+        "@crates_vendor_pkgs__httpdate-1.0.2//:httpdate",
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__socket2-0.4.9//:socket2",
+        "@crates_vendor_pkgs__tokio-1.27.0//:tokio",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+        "@crates_vendor_pkgs__want-0.3.0//:want",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.3.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.3.bazel
new file mode 100644
index 0000000..0ab790e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.indexmap-1.9.3.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "indexmap",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.3",
+    deps = [
+        "@crates_vendor_pkgs__hashbrown-0.12.3//:hashbrown",
+        "@crates_vendor_pkgs__indexmap-1.9.3//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "indexmap_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=indexmap",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.3",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "indexmap_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.itoa-1.0.6.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.itoa-1.0.6.bazel
new file mode 100644
index 0000000..d5e33e4
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.itoa-1.0.6.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "itoa",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=itoa",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.6",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.lazy_static-1.4.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.lazy_static-1.4.0.bazel
new file mode 100644
index 0000000..036d7b2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.lazy_static-1.4.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "lazy_static",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lazy_static",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.libc-0.2.142.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.libc-0.2.142.bazel
new file mode 100644
index 0000000..5371f00
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.libc-0.2.142.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.142",
+    deps = [
+        "@crates_vendor_pkgs__libc-0.2.142//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=libc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.142",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.9.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.9.bazel
new file mode 100644
index 0000000..0eb9494
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.lock_api-0.4.9.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    deps = [
+        "@crates_vendor_pkgs__lock_api-0.4.9//:build_script_build",
+        "@crates_vendor_pkgs__scopeguard-1.1.0//:scopeguard",
+    ],
+)
+
+cargo_build_script(
+    name = "lock_api_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=lock_api",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "lock_api_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.log-0.4.17.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.log-0.4.17.bazel
new file mode 100644
index 0000000..436c5ab
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.log-0.4.17.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "log",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.17",
+    deps = [
+        "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_pkgs__log-0.4.17//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "log_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.17",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "log_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.matchit-0.4.6.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.matchit-0.4.6.bazel
new file mode 100644
index 0000000..bc29948
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.matchit-0.4.6.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "matchit",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=matchit",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.6",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.memchr-2.5.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.memchr-2.5.0.bazel
new file mode 100644
index 0000000..d9973ca
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.memchr-2.5.0.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense/MIT
+# ])
+
+rust_library(
+    name = "memchr",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memchr",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.5.0",
+    deps = [
+        "@crates_vendor_pkgs__memchr-2.5.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "memchr_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=memchr",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.5.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "memchr_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.mime-0.3.17.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.mime-0.3.17.bazel
new file mode 100644
index 0000000..0ca1003
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.mime-0.3.17.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "mime",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mime",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.17",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.mio-0.8.6.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.mio-0.8.6.bazel
new file mode 100644
index 0000000..7fc1ba4
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.mio-0.8.6.bazel
@@ -0,0 +1,128 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "net",
+        "os-ext",
+        "os-poll",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=mio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.6",
+    deps = [
+        "@crates_vendor_pkgs__log-0.4.17//:log",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(target_os = "wasi")
+            "@crates_vendor_pkgs__wasi-0.11.0-wasi-snapshot-preview1//:wasi",  # cfg(target_os = "wasi")
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.nu-ansi-term-0.46.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.nu-ansi-term-0.46.0.bazel
new file mode 100644
index 0000000..1a29fdb
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.nu-ansi-term-0.46.0.bazel
@@ -0,0 +1,55 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "nu_ansi_term",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=nu-ansi-term",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.46.0",
+    deps = [
+        "@crates_vendor_pkgs__overload-0.1.1//:overload",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(target_os = "windows")
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.num_cpus-1.15.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.num_cpus-1.15.0.bazel
new file mode 100644
index 0000000..732473b
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.num_cpus-1.15.0.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=num_cpus",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.15.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(not(windows))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.once_cell-1.17.1.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.once_cell-1.17.1.bazel
new file mode 100644
index 0000000..8196a9e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.once_cell-1.17.1.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "once_cell",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+        "race",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=once_cell",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.17.1",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.overload-0.1.1.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.overload-0.1.1.bazel
new file mode 100644
index 0000000..bb0c0e6
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.overload-0.1.1.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "overload",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=overload",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.1",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.parking_lot-0.12.1.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.parking_lot-0.12.1.bazel
new file mode 100644
index 0000000..f73bd95
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.parking_lot-0.12.1.bazel
@@ -0,0 +1,48 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.12.1",
+    deps = [
+        "@crates_vendor_pkgs__lock_api-0.4.9//:lock_api",
+        "@crates_vendor_pkgs__parking_lot_core-0.9.7//:parking_lot_core",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.9.7.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.9.7.bazel
new file mode 100644
index 0000000..7bf77be
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.parking_lot_core-0.9.7.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.7",
+    deps = [
+        "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_pkgs__parking_lot_core-0.9.7//:build_script_build",
+        "@crates_vendor_pkgs__smallvec-1.10.0//:smallvec",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "parking_lot_core_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=parking_lot_core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.7",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "parking_lot_core_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.2.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.2.0.bazel
new file mode 100644
index 0000000..1878519
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.percent-encoding-2.2.0.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "percent_encoding",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=percent-encoding",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.2.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-1.0.12.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-1.0.12.bazel
new file mode 100644
index 0000000..bfb40d5
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-1.0.12.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "pin_project",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__pin-project-internal-1.0.12//:pin_project_internal",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.12",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.0.12.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.0.12.bazel
new file mode 100644
index 0000000..d9a6af4
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-internal-1.0.12.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_proc_macro(
+    name = "pin_project_internal",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project-internal",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.12",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.26//:quote",
+        "@crates_vendor_pkgs__syn-1.0.109//:syn",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-lite-0.2.9.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-lite-0.2.9.bazel
new file mode 100644
index 0000000..61a9fab
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-project-lite-0.2.9.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "pin_project_lite",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-project-lite",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.9",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-utils-0.1.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-utils-0.1.0.bazel
new file mode 100644
index 0000000..2a2faad
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.pin-utils-0.1.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "pin_utils",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=pin-utils",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.56.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.56.bazel
new file mode 100644
index 0000000..e36ee55
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.proc-macro2-1.0.56.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.56",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:build_script_build",
+        "@crates_vendor_pkgs__unicode-ident-1.0.8//:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "proc-macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=proc-macro2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.56",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.quote-1.0.26.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.quote-1.0.26.bazel
new file mode 100644
index 0000000..66ffde5
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.quote-1.0.26.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.26",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.26//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "quote_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=quote",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.26",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "quote_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.2.16.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.2.16.bazel
new file mode 100644
index 0000000..648748a
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.redox_syscall-0.2.16.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=redox_syscall",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.16",
+    deps = [
+        "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.ryu-1.0.13.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.ryu-1.0.13.bazel
new file mode 100644
index 0000000..f5d773a
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.ryu-1.0.13.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR BSL-1.0
+# ])
+
+rust_library(
+    name = "ryu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=ryu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.13",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.scopeguard-1.1.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.scopeguard-1.1.0.bazel
new file mode 100644
index 0000000..e62ff36
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.scopeguard-1.1.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "scopeguard",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=scopeguard",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde-1.0.160.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde-1.0.160.bazel
new file mode 100644
index 0000000..d5aa97f
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde-1.0.160.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.160",
+    deps = [
+        "@crates_vendor_pkgs__serde-1.0.160//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.160",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "serde_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.96.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.96.bazel
new file mode 100644
index 0000000..08212ed
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde_json-1.0.96.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde_json",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "raw_value",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.96",
+    deps = [
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+        "@crates_vendor_pkgs__ryu-1.0.13//:ryu",
+        "@crates_vendor_pkgs__serde-1.0.160//:serde",
+        "@crates_vendor_pkgs__serde_json-1.0.96//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "serde_json_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "raw_value",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_json",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.96",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "serde_json_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde_urlencoded-0.7.1.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde_urlencoded-0.7.1.bazel
new file mode 100644
index 0000000..227a819
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.serde_urlencoded-0.7.1.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "serde_urlencoded",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=serde_urlencoded",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.1",
+    deps = [
+        "@crates_vendor_pkgs__form_urlencoded-1.1.0//:form_urlencoded",
+        "@crates_vendor_pkgs__itoa-1.0.6//:itoa",
+        "@crates_vendor_pkgs__ryu-1.0.13//:ryu",
+        "@crates_vendor_pkgs__serde-1.0.160//:serde",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.sharded-slab-0.1.4.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.sharded-slab-0.1.4.bazel
new file mode 100644
index 0000000..0caf4ca
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.sharded-slab-0.1.4.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "sharded_slab",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=sharded-slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.4",
+    deps = [
+        "@crates_vendor_pkgs__lazy_static-1.4.0//:lazy_static",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.1.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.1.bazel
new file mode 100644
index 0000000..d78a2dd
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.signal-hook-registry-1.4.1.bazel
@@ -0,0 +1,44 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "signal_hook_registry",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=signal-hook-registry",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.1",
+    deps = [
+        "@crates_vendor_pkgs__libc-0.2.142//:libc",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.slab-0.4.8.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.slab-0.4.8.bazel
new file mode 100644
index 0000000..d88dab2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.slab-0.4.8.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "slab",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.8",
+    deps = [
+        "@crates_vendor_pkgs__slab-0.4.8//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "slab_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=slab",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.8",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "slab_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.smallvec-1.10.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.smallvec-1.10.0.bazel
new file mode 100644
index 0000000..b1ea49c
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.smallvec-1.10.0.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "smallvec",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=smallvec",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.10.0",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.socket2-0.4.9.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.socket2-0.4.9.bazel
new file mode 100644
index 0000000..cefd7f3
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.socket2-0.4.9.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "socket2",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "all",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=socket2",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.9",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__winapi-0.3.9//:winapi",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.syn-1.0.109.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.syn-1.0.109.bazel
new file mode 100644
index 0000000..35a17a9
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.syn-1.0.109.bazel
@@ -0,0 +1,110 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.109",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.26//:quote",
+        "@crates_vendor_pkgs__syn-1.0.109//:build_script_build",
+        "@crates_vendor_pkgs__unicode-ident-1.0.8//:unicode_ident",
+    ],
+)
+
+cargo_build_script(
+    name = "syn_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit",
+        "visit-mut",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.109",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "syn_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.syn-2.0.15.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.syn-2.0.15.bazel
new file mode 100644
index 0000000..3fbad77
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.syn-2.0.15.bazel
@@ -0,0 +1,57 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit-mut",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=syn",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.15",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.26//:quote",
+        "@crates_vendor_pkgs__unicode-ident-1.0.8//:unicode_ident",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.2.bazel
new file mode 100644
index 0000000..2949daf
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.sync_wrapper-0.1.2.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0
+# ])
+
+rust_library(
+    name = "sync_wrapper",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=sync_wrapper",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.7.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.7.bazel
new file mode 100644
index 0000000..bb26099
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.thread_local-1.1.7.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "thread_local",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=thread_local",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.7",
+    deps = [
+        "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_pkgs__once_cell-1.17.1//:once_cell",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-1.27.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-1.27.0.bazel
new file mode 100644
index 0000000..051020f
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-1.27.0.bazel
@@ -0,0 +1,265 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__tokio-macros-2.0.0//:tokio_macros",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.27.0",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__mio-0.8.6//:mio",
+        "@crates_vendor_pkgs__num_cpus-1.15.0//:num_cpus",
+        "@crates_vendor_pkgs__parking_lot-0.12.1//:parking_lot",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tokio-1.27.0//:build_script_build",
+    ] + select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+            "@crates_vendor_pkgs__windows-sys-0.45.0//:windows_sys",  # cfg(windows)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__libc-0.2.142//:libc",  # cfg(unix)
+            "@crates_vendor_pkgs__signal-hook-registry-1.4.1//:signal_hook_registry",  # cfg(unix)
+            "@crates_vendor_pkgs__socket2-0.4.9//:socket2",  # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))
+        ],
+        "//conditions:default": [],
+    }),
+)
+
+cargo_build_script(
+    name = "tokio_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "bytes",
+        "default",
+        "fs",
+        "full",
+        "io-std",
+        "io-util",
+        "libc",
+        "macros",
+        "mio",
+        "net",
+        "num_cpus",
+        "parking_lot",
+        "process",
+        "rt",
+        "rt-multi-thread",
+        "signal",
+        "signal-hook-registry",
+        "socket2",
+        "sync",
+        "time",
+        "tokio-macros",
+        "windows-sys",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.27.0",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@crates_vendor_pkgs__autocfg-1.1.0//:autocfg",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "tokio_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-macros-2.0.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-macros-2.0.0.bazel
new file mode 100644
index 0000000..d9dc846
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-macros-2.0.0.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tokio_macros",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-macros",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.0",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.26//:quote",
+        "@crates_vendor_pkgs__syn-2.0.15//:syn",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.7.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.7.bazel
new file mode 100644
index 0000000..454117e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tokio-util-0.7.7.bazel
@@ -0,0 +1,54 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_util",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "codec",
+        "default",
+        "tracing",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tokio-util",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.7",
+    deps = [
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-sink-0.3.28//:futures_sink",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tokio-1.27.0//:tokio",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-0.4.13.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-0.4.13.bazel
new file mode 100644
index 0000000..9ae0027
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-0.4.13.bazel
@@ -0,0 +1,67 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tower",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "__common",
+        "buffer",
+        "default",
+        "futures-core",
+        "futures-util",
+        "log",
+        "make",
+        "pin-project",
+        "pin-project-lite",
+        "tokio",
+        "tokio-util",
+        "tracing",
+        "util",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tower",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.13",
+    deps = [
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__pin-project-1.0.12//:pin_project",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tokio-1.27.0//:tokio",
+        "@crates_vendor_pkgs__tokio-util-0.7.7//:tokio_util",
+        "@crates_vendor_pkgs__tower-layer-0.3.2//:tower_layer",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-http-0.2.5.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-http-0.2.5.bazel
new file mode 100644
index 0000000..61ca724
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-http-0.2.5.bazel
@@ -0,0 +1,63 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tower_http",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "map-response-body",
+        "tower",
+        "trace",
+        "tracing",
+        "util",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tower-http",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.5",
+    deps = [
+        "@crates_vendor_pkgs__bitflags-1.3.2//:bitflags",
+        "@crates_vendor_pkgs__bytes-1.4.0//:bytes",
+        "@crates_vendor_pkgs__futures-core-0.3.28//:futures_core",
+        "@crates_vendor_pkgs__futures-util-0.3.28//:futures_util",
+        "@crates_vendor_pkgs__http-0.2.9//:http",
+        "@crates_vendor_pkgs__http-body-0.4.5//:http_body",
+        "@crates_vendor_pkgs__http-range-header-0.3.0//:http_range_header",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tower-0.4.13//:tower",
+        "@crates_vendor_pkgs__tower-layer-0.3.2//:tower_layer",
+        "@crates_vendor_pkgs__tower-service-0.3.2//:tower_service",
+        "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.2.bazel
new file mode 100644
index 0000000..b17d1f2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-layer-0.3.2.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tower_layer",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tower-layer",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.2",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-service-0.3.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-service-0.3.2.bazel
new file mode 100644
index 0000000..11a33eb
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tower-service-0.3.2.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tower_service",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tower-service",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.2",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-0.1.37.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-0.1.37.bazel
new file mode 100644
index 0000000..dfc6f67
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-0.1.37.bazel
@@ -0,0 +1,57 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "attributes",
+        "default",
+        "log",
+        "std",
+        "tracing-attributes",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    proc_macro_deps = [
+        "@crates_vendor_pkgs__tracing-attributes-0.1.23//:tracing_attributes",
+    ],
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.37",
+    deps = [
+        "@crates_vendor_pkgs__cfg-if-1.0.0//:cfg_if",
+        "@crates_vendor_pkgs__log-0.4.17//:log",
+        "@crates_vendor_pkgs__pin-project-lite-0.2.9//:pin_project_lite",
+        "@crates_vendor_pkgs__tracing-core-0.1.30//:tracing_core",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.23.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.23.bazel
new file mode 100644
index 0000000..89ac2ff
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-attributes-0.1.23.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_proc_macro(
+    name = "tracing_attributes",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-attributes",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.23",
+    deps = [
+        "@crates_vendor_pkgs__proc-macro2-1.0.56//:proc_macro2",
+        "@crates_vendor_pkgs__quote-1.0.26//:quote",
+        "@crates_vendor_pkgs__syn-1.0.109//:syn",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.30.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.30.bazel
new file mode 100644
index 0000000..fb97dd2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-core-0.1.30.bazel
@@ -0,0 +1,50 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing_core",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "once_cell",
+        "std",
+        "valuable",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-core",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.30",
+    deps = [
+        "@crates_vendor_pkgs__once_cell-1.17.1//:once_cell",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-log-0.1.3.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-log-0.1.3.bazel
new file mode 100644
index 0000000..f40296b
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-log-0.1.3.bazel
@@ -0,0 +1,50 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing_log",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "log-tracer",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-log",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.3",
+    deps = [
+        "@crates_vendor_pkgs__lazy_static-1.4.0//:lazy_static",
+        "@crates_vendor_pkgs__log-0.4.17//:log",
+        "@crates_vendor_pkgs__tracing-core-0.1.30//:tracing_core",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.17.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.17.bazel
new file mode 100644
index 0000000..3184056
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.tracing-subscriber-0.3.17.bazel
@@ -0,0 +1,62 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tracing_subscriber",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "ansi",
+        "default",
+        "fmt",
+        "nu-ansi-term",
+        "registry",
+        "sharded-slab",
+        "smallvec",
+        "std",
+        "thread_local",
+        "tracing-log",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=tracing-subscriber",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.17",
+    deps = [
+        "@crates_vendor_pkgs__nu-ansi-term-0.46.0//:nu_ansi_term",
+        "@crates_vendor_pkgs__sharded-slab-0.1.4//:sharded_slab",
+        "@crates_vendor_pkgs__smallvec-1.10.0//:smallvec",
+        "@crates_vendor_pkgs__thread_local-1.1.7//:thread_local",
+        "@crates_vendor_pkgs__tracing-core-0.1.30//:tracing_core",
+        "@crates_vendor_pkgs__tracing-log-0.1.3//:tracing_log",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.4.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.4.bazel
new file mode 100644
index 0000000..aeaf4bc
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.try-lock-0.2.4.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "try_lock",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=try-lock",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.4",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.8.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.8.bazel
new file mode 100644
index 0000000..2517e67
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.unicode-ident-1.0.8.bazel
@@ -0,0 +1,41 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# ])
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=unicode-ident",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.8",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.valuable-0.1.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.valuable-0.1.0.bazel
new file mode 100644
index 0000000..efcc848
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.valuable-0.1.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "valuable",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=valuable",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.0",
+    deps = [
+        "@crates_vendor_pkgs__valuable-0.1.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "valuable_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=valuable",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "valuable_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.want-0.3.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.want-0.3.0.bazel
new file mode 100644
index 0000000..ad59ee2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.want-0.3.0.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "want",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=want",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.0",
+    deps = [
+        "@crates_vendor_pkgs__log-0.4.17//:log",
+        "@crates_vendor_pkgs__try-lock-0.2.4//:try_lock",
+    ],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
new file mode 100644
index 0000000..ff7403e
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -0,0 +1,45 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "wasi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=wasi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.11.0+wasi-snapshot-preview1",
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-0.3.9.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-0.3.9.bazel
new file mode 100644
index 0000000..cb6635b
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-0.3.9.bazel
@@ -0,0 +1,99 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "consoleapi",
+        "errhandlingapi",
+        "fileapi",
+        "handleapi",
+        "processenv",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.9",
+    deps = [
+        "@crates_vendor_pkgs__winapi-0.3.9//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "winapi_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "consoleapi",
+        "errhandlingapi",
+        "fileapi",
+        "handleapi",
+        "processenv",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.9",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "winapi_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..0a302d6
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_i686_pc_windows_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+        "@crates_vendor_pkgs__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "winapi-i686-pc-windows-gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-i686-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "winapi-i686-pc-windows-gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..e32d139
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_x86_64_pc_windows_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+        "@crates_vendor_pkgs__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "winapi-x86_64-pc-windows-gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=winapi-x86_64-pc-windows-gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "winapi-x86_64-pc-windows-gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows-sys-0.45.0.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows-sys-0.45.0.bazel
new file mode 100644
index 0000000..ebd0354
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows-sys-0.45.0.bazel
@@ -0,0 +1,147 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_Networking",
+        "Win32_Networking_WinSock",
+        "Win32_Security",
+        "Win32_Security_Authorization",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Console",
+        "Win32_System_IO",
+        "Win32_System_LibraryLoader",
+        "Win32_System_Pipes",
+        "Win32_System_SystemServices",
+        "Win32_System_Threading",
+        "Win32_System_WindowsProgramming",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-sys",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.45.0",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-fuchsia": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:wasm32-wasi": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-fuchsia": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@crates_vendor_pkgs__windows-targets-0.42.2//:windows_targets",  # cfg(not(windows_raw_dylib))
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows-targets-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows-targets-0.42.2.bazel
new file mode 100644
index 0000000..8b046b2
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows-targets-0.42.2.bazel
@@ -0,0 +1,53 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_targets",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows-targets",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows_aarch64_msvc-0.42.2//:windows_aarch64_msvc",  # aarch64-pc-windows-msvc
+        ],
+        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows_i686_msvc-0.42.2//:windows_i686_msvc",  # i686-pc-windows-msvc
+        ],
+        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
+            "@crates_vendor_pkgs__windows_x86_64_msvc-0.42.2//:windows_x86_64_msvc",  # x86_64-pc-windows-msvc
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_aarch64_gnullvm-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_aarch64_gnullvm-0.42.2.bazel
new file mode 100644
index 0000000..f980e3a
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_aarch64_gnullvm-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_pkgs__windows_aarch64_gnullvm-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_aarch64_msvc-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_aarch64_msvc-0.42.2.bazel
new file mode 100644
index 0000000..b2eeeac
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_aarch64_msvc-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_pkgs__windows_aarch64_msvc-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_aarch64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_i686_gnu-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_i686_gnu-0.42.2.bazel
new file mode 100644
index 0000000..34c4248
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_i686_gnu-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_pkgs__windows_i686_gnu-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_i686_msvc-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_i686_msvc-0.42.2.bazel
new file mode 100644
index 0000000..caa6e49
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_i686_msvc-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_pkgs__windows_i686_msvc-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_i686_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnu-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnu-0.42.2.bazel
new file mode 100644
index 0000000..8cf94e1
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnu-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_pkgs__windows_x86_64_gnu-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnu",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnullvm-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnullvm-0.42.2.bazel
new file mode 100644
index 0000000..a79dd31
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_gnullvm-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnullvm",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_pkgs__windows_x86_64_gnullvm-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_gnullvm_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_gnullvm",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_gnullvm_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_msvc-0.42.2.bazel b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_msvc-0.42.2.bazel
new file mode 100644
index 0000000..eddee65
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/BUILD.windows_x86_64_msvc-0.42.2.bazel
@@ -0,0 +1,81 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    deps = [
+        "@crates_vendor_pkgs__windows_x86_64_msvc-0.42.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "crate-name=windows_x86_64_msvc",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.42.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/crates.bzl b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/crates.bzl
new file mode 100644
index 0000000..ee24320
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/crates.bzl
@@ -0,0 +1,24 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+"""Rules for defining repositories for remote `crates_vendor` repositories"""
+
+# buildifier: disable=bzl-visibility
+load("@//vendor_remote_pkgs/crates:defs.bzl", _crate_repositories = "crate_repositories")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
+
+def crate_repositories():
+    maybe(
+        crates_vendor_remote_repository,
+        name = "crates_vendor_pkgs",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.bazel"),
+        defs_module = Label("@//vendor_remote_pkgs/crates:defs.bzl"),
+    )
+
+    _crate_repositories()
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/defs.bzl b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/defs.bzl
new file mode 100644
index 0000000..d00c9b8
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/crates/defs.bzl
@@ -0,0 +1,1293 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//vendor_remote_pkgs:crates_vendor
+###############################################################################
+"""
+# `crates_repository` API
+
+- [aliases](#aliases)
+- [crate_deps](#crate_deps)
+- [all_crate_deps](#all_crate_deps)
+- [crate_repositories](#crate_repositories)
+
+"""
+
+load("@bazel_skylib//lib:selects.bzl", "selects")
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+###############################################################################
+# MACROS API
+###############################################################################
+
+# An identifier that represent common dependencies (unconditional).
+_COMMON_CONDITION = ""
+
+def _flatten_dependency_maps(all_dependency_maps):
+    """Flatten a list of dependency maps into one dictionary.
+
+    Dependency maps have the following structure:
+
+    ```python
+    DEPENDENCIES_MAP = {
+        # The first key in the map is a Bazel package
+        # name of the workspace this file is defined in.
+        "workspace_member_package": {
+
+            # Not all dependencies are supported for all platforms.
+            # the condition key is the condition required to be true
+            # on the host platform.
+            "condition": {
+
+                # An alias to a crate target.     # The label of the crate target the
+                # Aliases are only crate names.   # package name refers to.
+                "package_name":                   "@full//:label",
+            }
+        }
+    }
+    ```
+
+    Args:
+        all_dependency_maps (list): A list of dicts as described above
+
+    Returns:
+        dict: A dictionary as described above
+    """
+    dependencies = {}
+
+    for workspace_deps_map in all_dependency_maps:
+        for pkg_name, conditional_deps_map in workspace_deps_map.items():
+            if pkg_name not in dependencies:
+                non_frozen_map = dict()
+                for key, values in conditional_deps_map.items():
+                    non_frozen_map.update({key: dict(values.items())})
+                dependencies.setdefault(pkg_name, non_frozen_map)
+                continue
+
+            for condition, deps_map in conditional_deps_map.items():
+                # If the condition has not been recorded, do so and continue
+                if condition not in dependencies[pkg_name]:
+                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
+                    continue
+
+                # Alert on any miss-matched dependencies
+                inconsistent_entries = []
+                for crate_name, crate_label in deps_map.items():
+                    existing = dependencies[pkg_name][condition].get(crate_name)
+                    if existing and existing != crate_label:
+                        inconsistent_entries.append((crate_name, existing, crate_label))
+                    dependencies[pkg_name][condition].update({crate_name: crate_label})
+
+    return dependencies
+
+def crate_deps(deps, package_name = None):
+    """Finds the fully qualified label of the requested crates for the package where this macro is called.
+
+    Args:
+        deps (list): The desired list of crate targets.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()`.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if not deps:
+        return []
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Join both sets of dependencies
+    dependencies = _flatten_dependency_maps([
+        _NORMAL_DEPENDENCIES,
+        _NORMAL_DEV_DEPENDENCIES,
+        _PROC_MACRO_DEPENDENCIES,
+        _PROC_MACRO_DEV_DEPENDENCIES,
+        _BUILD_DEPENDENCIES,
+        _BUILD_PROC_MACRO_DEPENDENCIES,
+    ]).pop(package_name, {})
+
+    # Combine all conditional packages so we can easily index over a flat list
+    # TODO: Perhaps this should actually return select statements and maintain
+    # the conditionals of the dependencies
+    flat_deps = {}
+    for deps_set in dependencies.values():
+        for crate_name, crate_label in deps_set.items():
+            flat_deps.update({crate_name: crate_label})
+
+    missing_crates = []
+    crate_targets = []
+    for crate_target in deps:
+        if crate_target not in flat_deps:
+            missing_crates.append(crate_target)
+        else:
+            crate_targets.append(flat_deps[crate_target])
+
+    if missing_crates:
+        fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
+            missing_crates,
+            package_name,
+            dependencies,
+        ))
+
+    return crate_targets
+
+def all_crate_deps(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Finds the fully qualified label of all requested direct crate dependencies \
+    for the package where this macro is called.
+
+    If no parameters are set, all normal dependencies are returned. Setting any one flag will
+    otherwise impact the contents of the returned list.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normal dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_dependency_maps = []
+    if normal:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+    if normal_dev:
+        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
+    if proc_macro:
+        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
+    if proc_macro_dev:
+        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
+    if build:
+        all_dependency_maps.append(_BUILD_DEPENDENCIES)
+    if build_proc_macro:
+        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
+
+    # Default to always using normal dependencies
+    if not all_dependency_maps:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+
+    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
+
+    if not dependencies:
+        if dependencies == None:
+            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
+        else:
+            return []
+
+    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
+    for condition, deps in dependencies.items():
+        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+
+    return crate_deps
+
+def aliases(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Produces a map of Crate alias names to their original label
+
+    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
+    Setting any one flag will otherwise determine the contents of the returned dict.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normal dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        dict: The aliases of all associated packages
+    """
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_aliases_maps = []
+    if normal:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+    if normal_dev:
+        all_aliases_maps.append(_NORMAL_DEV_ALIASES)
+    if proc_macro:
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+    if proc_macro_dev:
+        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
+    if build:
+        all_aliases_maps.append(_BUILD_ALIASES)
+    if build_proc_macro:
+        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
+
+    # Default to always using normal aliases
+    if not all_aliases_maps:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+
+    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
+
+    if not aliases:
+        return dict()
+
+    common_items = aliases.pop(_COMMON_CONDITION, {}).items()
+
+    # If there are only common items in the dictionary, immediately return them
+    if not len(aliases.keys()) == 1:
+        return dict(common_items)
+
+    # Build a single select statement where each conditional has accounted for the
+    # common set of aliases.
+    crate_aliases = {"//conditions:default": common_items}
+    for condition, deps in aliases.items():
+        condition_triples = _CONDITIONS[condition]
+        if condition_triples in crate_aliases:
+            crate_aliases[condition_triples].update(deps)
+        else:
+            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+
+    return selects.with_or(crate_aliases)
+
+###############################################################################
+# WORKSPACE MEMBER DEPS AND ALIASES
+###############################################################################
+
+_NORMAL_DEPENDENCIES = {
+    "": {
+        _COMMON_CONDITION: {
+            "axum": "@crates_vendor_pkgs__axum-0.4.8//:axum",
+            "hyper": "@crates_vendor_pkgs__hyper-0.14.26//:hyper",
+            "mime": "@crates_vendor_pkgs__mime-0.3.17//:mime",
+            "serde_json": "@crates_vendor_pkgs__serde_json-1.0.96//:serde_json",
+            "socket2": "@crates_vendor_pkgs__socket2-0.4.9//:socket2",
+            "tokio": "@crates_vendor_pkgs__tokio-1.27.0//:tokio",
+            "tower": "@crates_vendor_pkgs__tower-0.4.13//:tower",
+            "tower-http": "@crates_vendor_pkgs__tower-http-0.2.5//:tower_http",
+            "tracing": "@crates_vendor_pkgs__tracing-0.1.37//:tracing",
+            "tracing-subscriber": "@crates_vendor_pkgs__tracing-subscriber-0.3.17//:tracing_subscriber",
+        },
+    },
+}
+
+_NORMAL_ALIASES = {
+    "": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_NORMAL_DEV_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_NORMAL_DEV_ALIASES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_ALIASES = {
+    "": {
+    },
+}
+
+_BUILD_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_ALIASES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_CONDITIONS = {
+    "aarch64-pc-windows-gnullvm": [],
+    "aarch64-pc-windows-msvc": ["aarch64-pc-windows-msvc"],
+    "aarch64-uwp-windows-msvc": [],
+    "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
+    "cfg(docsrs)": [],
+    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(not(windows_raw_dylib))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-pc-windows-msvc", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-pc-windows-msvc", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "riscv64gc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-pc-windows-msvc", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(target_os = \"redox\")": [],
+    "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
+    "cfg(target_os = \"windows\")": ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(tracing_unstable)": [],
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-fuchsia", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-fuchsia", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "i686-pc-windows-gnu": [],
+    "i686-pc-windows-msvc": ["i686-pc-windows-msvc"],
+    "i686-uwp-windows-gnu": [],
+    "i686-uwp-windows-msvc": [],
+    "x86_64-pc-windows-gnu": [],
+    "x86_64-pc-windows-gnullvm": [],
+    "x86_64-pc-windows-msvc": ["x86_64-pc-windows-msvc"],
+    "x86_64-uwp-windows-gnu": [],
+    "x86_64-uwp-windows-msvc": [],
+}
+
+###############################################################################
+
+def crate_repositories():
+    """A macro for defining repositories for all generated crates"""
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__async-trait-0.1.68",
+        sha256 = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/async-trait/0.1.68/download"],
+        strip_prefix = "async-trait-0.1.68",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.async-trait-0.1.68.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__autocfg-1.1.0",
+        sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"],
+        strip_prefix = "autocfg-1.1.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.autocfg-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__axum-0.4.8",
+        sha256 = "c9f346c92c1e9a71d14fe4aaf7c2a5d9932cc4e5e48d8fb6641524416eb79ddd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/axum/0.4.8/download"],
+        strip_prefix = "axum-0.4.8",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.axum-0.4.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__axum-core-0.1.2",
+        sha256 = "6dbcda393bef9c87572779cb8ef916f12d77750b27535dd6819fa86591627a51",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/axum-core/0.1.2/download"],
+        strip_prefix = "axum-core-0.1.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.axum-core-0.1.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__bitflags-1.3.2",
+        sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
+        strip_prefix = "bitflags-1.3.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.bitflags-1.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__bytes-1.4.0",
+        sha256 = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bytes/1.4.0/download"],
+        strip_prefix = "bytes-1.4.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.bytes-1.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__cfg-if-1.0.0",
+        sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"],
+        strip_prefix = "cfg-if-1.0.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.cfg-if-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__fnv-1.0.7",
+        sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/fnv/1.0.7/download"],
+        strip_prefix = "fnv-1.0.7",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.fnv-1.0.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__form_urlencoded-1.1.0",
+        sha256 = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.1.0/download"],
+        strip_prefix = "form_urlencoded-1.1.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.form_urlencoded-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__futures-channel-0.3.28",
+        sha256 = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-channel/0.3.28/download"],
+        strip_prefix = "futures-channel-0.3.28",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.futures-channel-0.3.28.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__futures-core-0.3.28",
+        sha256 = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-core/0.3.28/download"],
+        strip_prefix = "futures-core-0.3.28",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.futures-core-0.3.28.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__futures-sink-0.3.28",
+        sha256 = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-sink/0.3.28/download"],
+        strip_prefix = "futures-sink-0.3.28",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.futures-sink-0.3.28.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__futures-task-0.3.28",
+        sha256 = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-task/0.3.28/download"],
+        strip_prefix = "futures-task-0.3.28",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.futures-task-0.3.28.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__futures-util-0.3.28",
+        sha256 = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-util/0.3.28/download"],
+        strip_prefix = "futures-util-0.3.28",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.futures-util-0.3.28.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__h2-0.3.18",
+        sha256 = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/h2/0.3.18/download"],
+        strip_prefix = "h2-0.3.18",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.h2-0.3.18.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__hashbrown-0.12.3",
+        sha256 = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hashbrown/0.12.3/download"],
+        strip_prefix = "hashbrown-0.12.3",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.hashbrown-0.12.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__hermit-abi-0.2.6",
+        sha256 = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.2.6/download"],
+        strip_prefix = "hermit-abi-0.2.6",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.hermit-abi-0.2.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__http-0.2.9",
+        sha256 = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/http/0.2.9/download"],
+        strip_prefix = "http-0.2.9",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.http-0.2.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__http-body-0.4.5",
+        sha256 = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/http-body/0.4.5/download"],
+        strip_prefix = "http-body-0.4.5",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.http-body-0.4.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__http-range-header-0.3.0",
+        sha256 = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/http-range-header/0.3.0/download"],
+        strip_prefix = "http-range-header-0.3.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.http-range-header-0.3.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__httparse-1.8.0",
+        sha256 = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/httparse/1.8.0/download"],
+        strip_prefix = "httparse-1.8.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.httparse-1.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__httpdate-1.0.2",
+        sha256 = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/httpdate/1.0.2/download"],
+        strip_prefix = "httpdate-1.0.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.httpdate-1.0.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__hyper-0.14.26",
+        sha256 = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hyper/0.14.26/download"],
+        strip_prefix = "hyper-0.14.26",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.hyper-0.14.26.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__indexmap-1.9.3",
+        sha256 = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/indexmap/1.9.3/download"],
+        strip_prefix = "indexmap-1.9.3",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.indexmap-1.9.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__itoa-1.0.6",
+        sha256 = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/itoa/1.0.6/download"],
+        strip_prefix = "itoa-1.0.6",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.itoa-1.0.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__lazy_static-1.4.0",
+        sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/lazy_static/1.4.0/download"],
+        strip_prefix = "lazy_static-1.4.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.lazy_static-1.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__libc-0.2.142",
+        sha256 = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.142/download"],
+        strip_prefix = "libc-0.2.142",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.libc-0.2.142.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__lock_api-0.4.9",
+        sha256 = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.9/download"],
+        strip_prefix = "lock_api-0.4.9",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.lock_api-0.4.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__log-0.4.17",
+        sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
+        strip_prefix = "log-0.4.17",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.log-0.4.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__matchit-0.4.6",
+        sha256 = "9376a4f0340565ad675d11fc1419227faf5f60cd7ac9cb2e7185a471f30af833",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/matchit/0.4.6/download"],
+        strip_prefix = "matchit-0.4.6",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.matchit-0.4.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__memchr-2.5.0",
+        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
+        strip_prefix = "memchr-2.5.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.memchr-2.5.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__mime-0.3.17",
+        sha256 = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/mime/0.3.17/download"],
+        strip_prefix = "mime-0.3.17",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.mime-0.3.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__mio-0.8.6",
+        sha256 = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/mio/0.8.6/download"],
+        strip_prefix = "mio-0.8.6",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.mio-0.8.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__nu-ansi-term-0.46.0",
+        sha256 = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/nu-ansi-term/0.46.0/download"],
+        strip_prefix = "nu-ansi-term-0.46.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.nu-ansi-term-0.46.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__num_cpus-1.15.0",
+        sha256 = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num_cpus/1.15.0/download"],
+        strip_prefix = "num_cpus-1.15.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.num_cpus-1.15.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__once_cell-1.17.1",
+        sha256 = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/once_cell/1.17.1/download"],
+        strip_prefix = "once_cell-1.17.1",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.once_cell-1.17.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__overload-0.1.1",
+        sha256 = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/overload/0.1.1/download"],
+        strip_prefix = "overload-0.1.1",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.overload-0.1.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__parking_lot-0.12.1",
+        sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot/0.12.1/download"],
+        strip_prefix = "parking_lot-0.12.1",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.parking_lot-0.12.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__parking_lot_core-0.9.7",
+        sha256 = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.7/download"],
+        strip_prefix = "parking_lot_core-0.9.7",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.parking_lot_core-0.9.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__percent-encoding-2.2.0",
+        sha256 = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/percent-encoding/2.2.0/download"],
+        strip_prefix = "percent-encoding-2.2.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.percent-encoding-2.2.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__pin-project-1.0.12",
+        sha256 = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/pin-project/1.0.12/download"],
+        strip_prefix = "pin-project-1.0.12",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.pin-project-1.0.12.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__pin-project-internal-1.0.12",
+        sha256 = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/pin-project-internal/1.0.12/download"],
+        strip_prefix = "pin-project-internal-1.0.12",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.pin-project-internal-1.0.12.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__pin-project-lite-0.2.9",
+        sha256 = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download"],
+        strip_prefix = "pin-project-lite-0.2.9",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.pin-project-lite-0.2.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__pin-utils-0.1.0",
+        sha256 = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/pin-utils/0.1.0/download"],
+        strip_prefix = "pin-utils-0.1.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.pin-utils-0.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__proc-macro2-1.0.56",
+        sha256 = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.56/download"],
+        strip_prefix = "proc-macro2-1.0.56",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.proc-macro2-1.0.56.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__quote-1.0.26",
+        sha256 = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/quote/1.0.26/download"],
+        strip_prefix = "quote-1.0.26",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.quote-1.0.26.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__redox_syscall-0.2.16",
+        sha256 = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.2.16/download"],
+        strip_prefix = "redox_syscall-0.2.16",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.redox_syscall-0.2.16.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__ryu-1.0.13",
+        sha256 = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/ryu/1.0.13/download"],
+        strip_prefix = "ryu-1.0.13",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.ryu-1.0.13.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__scopeguard-1.1.0",
+        sha256 = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/scopeguard/1.1.0/download"],
+        strip_prefix = "scopeguard-1.1.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.scopeguard-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__serde-1.0.160",
+        sha256 = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/serde/1.0.160/download"],
+        strip_prefix = "serde-1.0.160",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.serde-1.0.160.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__serde_json-1.0.96",
+        sha256 = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.96/download"],
+        strip_prefix = "serde_json-1.0.96",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.serde_json-1.0.96.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__serde_urlencoded-0.7.1",
+        sha256 = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/serde_urlencoded/0.7.1/download"],
+        strip_prefix = "serde_urlencoded-0.7.1",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.serde_urlencoded-0.7.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__sharded-slab-0.1.4",
+        sha256 = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/sharded-slab/0.1.4/download"],
+        strip_prefix = "sharded-slab-0.1.4",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.sharded-slab-0.1.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__signal-hook-registry-1.4.1",
+        sha256 = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download"],
+        strip_prefix = "signal-hook-registry-1.4.1",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.signal-hook-registry-1.4.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__slab-0.4.8",
+        sha256 = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/slab/0.4.8/download"],
+        strip_prefix = "slab-0.4.8",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.slab-0.4.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__smallvec-1.10.0",
+        sha256 = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/smallvec/1.10.0/download"],
+        strip_prefix = "smallvec-1.10.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.smallvec-1.10.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__socket2-0.4.9",
+        sha256 = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/socket2/0.4.9/download"],
+        strip_prefix = "socket2-0.4.9",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.socket2-0.4.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__syn-1.0.109",
+        sha256 = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/syn/1.0.109/download"],
+        strip_prefix = "syn-1.0.109",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.syn-1.0.109.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__syn-2.0.15",
+        sha256 = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/syn/2.0.15/download"],
+        strip_prefix = "syn-2.0.15",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.syn-2.0.15.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__sync_wrapper-0.1.2",
+        sha256 = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/sync_wrapper/0.1.2/download"],
+        strip_prefix = "sync_wrapper-0.1.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.sync_wrapper-0.1.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__thread_local-1.1.7",
+        sha256 = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/thread_local/1.1.7/download"],
+        strip_prefix = "thread_local-1.1.7",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.thread_local-1.1.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tokio-1.27.0",
+        sha256 = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio/1.27.0/download"],
+        strip_prefix = "tokio-1.27.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tokio-1.27.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tokio-macros-2.0.0",
+        sha256 = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-macros/2.0.0/download"],
+        strip_prefix = "tokio-macros-2.0.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tokio-macros-2.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tokio-util-0.7.7",
+        sha256 = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-util/0.7.7/download"],
+        strip_prefix = "tokio-util-0.7.7",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tokio-util-0.7.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tower-0.4.13",
+        sha256 = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tower/0.4.13/download"],
+        strip_prefix = "tower-0.4.13",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tower-0.4.13.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tower-http-0.2.5",
+        sha256 = "aba3f3efabf7fb41fae8534fc20a817013dd1c12cb45441efb6c82e6556b4cd8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tower-http/0.2.5/download"],
+        strip_prefix = "tower-http-0.2.5",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tower-http-0.2.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tower-layer-0.3.2",
+        sha256 = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tower-layer/0.3.2/download"],
+        strip_prefix = "tower-layer-0.3.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tower-layer-0.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tower-service-0.3.2",
+        sha256 = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tower-service/0.3.2/download"],
+        strip_prefix = "tower-service-0.3.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tower-service-0.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tracing-0.1.37",
+        sha256 = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing/0.1.37/download"],
+        strip_prefix = "tracing-0.1.37",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tracing-0.1.37.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tracing-attributes-0.1.23",
+        sha256 = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-attributes/0.1.23/download"],
+        strip_prefix = "tracing-attributes-0.1.23",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tracing-attributes-0.1.23.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tracing-core-0.1.30",
+        sha256 = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-core/0.1.30/download"],
+        strip_prefix = "tracing-core-0.1.30",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tracing-core-0.1.30.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tracing-log-0.1.3",
+        sha256 = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-log/0.1.3/download"],
+        strip_prefix = "tracing-log-0.1.3",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tracing-log-0.1.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__tracing-subscriber-0.3.17",
+        sha256 = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tracing-subscriber/0.3.17/download"],
+        strip_prefix = "tracing-subscriber-0.3.17",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.tracing-subscriber-0.3.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__try-lock-0.2.4",
+        sha256 = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/try-lock/0.2.4/download"],
+        strip_prefix = "try-lock-0.2.4",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.try-lock-0.2.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__unicode-ident-1.0.8",
+        sha256 = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.8/download"],
+        strip_prefix = "unicode-ident-1.0.8",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.unicode-ident-1.0.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__valuable-0.1.0",
+        sha256 = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/valuable/0.1.0/download"],
+        strip_prefix = "valuable-0.1.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.valuable-0.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__want-0.3.0",
+        sha256 = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/want/0.3.0/download"],
+        strip_prefix = "want-0.3.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.want-0.3.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__wasi-0.11.0-wasi-snapshot-preview1",
+        sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
+        strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__winapi-0.3.9",
+        sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
+        strip_prefix = "winapi-0.3.9",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.winapi-0.3.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__winapi-i686-pc-windows-gnu-0.4.0",
+        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__winapi-x86_64-pc-windows-gnu-0.4.0",
+        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows-sys-0.45.0",
+        sha256 = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-sys/0.45.0/download"],
+        strip_prefix = "windows-sys-0.45.0",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows-sys-0.45.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows-targets-0.42.2",
+        sha256 = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-targets/0.42.2/download"],
+        strip_prefix = "windows-targets-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows-targets-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_aarch64_gnullvm-0.42.2",
+        sha256 = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.42.2/download"],
+        strip_prefix = "windows_aarch64_gnullvm-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows_aarch64_gnullvm-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_aarch64_msvc-0.42.2",
+        sha256 = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.42.2/download"],
+        strip_prefix = "windows_aarch64_msvc-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows_aarch64_msvc-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_i686_gnu-0.42.2",
+        sha256 = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.42.2/download"],
+        strip_prefix = "windows_i686_gnu-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows_i686_gnu-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_i686_msvc-0.42.2",
+        sha256 = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.42.2/download"],
+        strip_prefix = "windows_i686_msvc-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows_i686_msvc-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_x86_64_gnu-0.42.2",
+        sha256 = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.42.2/download"],
+        strip_prefix = "windows_x86_64_gnu-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows_x86_64_gnu-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_x86_64_gnullvm-0.42.2",
+        sha256 = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.42.2/download"],
+        strip_prefix = "windows_x86_64_gnullvm-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows_x86_64_gnullvm-0.42.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "crates_vendor_pkgs__windows_x86_64_msvc-0.42.2",
+        sha256 = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.42.2/download"],
+        strip_prefix = "windows_x86_64_msvc-0.42.2",
+        build_file = Label("@//vendor_remote_pkgs/crates:BUILD.windows_x86_64_msvc-0.42.2.bazel"),
+    )
diff --git a/examples/crate_universe_unnamed/vendor_remote_pkgs/src/main.rs b/examples/crate_universe_unnamed/vendor_remote_pkgs/src/main.rs
new file mode 100644
index 0000000..3812c30
--- /dev/null
+++ b/examples/crate_universe_unnamed/vendor_remote_pkgs/src/main.rs
@@ -0,0 +1,150 @@
+//! Copied from https://github.com/tokio-rs/axum/blob/v0.2.5/examples/testing/src/main.rs
+
+use axum::{
+    routing::{get, post},
+    Json, Router,
+};
+use tower_http::trace::TraceLayer;
+
+#[tokio::main]
+async fn main() {
+    // Set the RUST_LOG, if it hasn't been explicitly defined
+    if std::env::var_os("RUST_LOG").is_none() {
+        std::env::set_var("RUST_LOG", "example_testing=debug,tower_http=debug")
+    }
+    tracing_subscriber::fmt::init();
+
+    let addr = std::net::SocketAddr::from(([127, 0, 0, 1], 3000));
+
+    tracing::debug!("listening on {}", addr);
+
+    axum::Server::bind(&addr)
+        .serve(app().into_make_service())
+        .await
+        .unwrap();
+}
+
+/// Having a function that produces our app makes it easy to call it from tests
+/// without having to create an HTTP server.
+#[allow(dead_code)]
+fn app() -> Router {
+    Router::new()
+        .route("/", get(|| async { "Hello, World!" }))
+        .route(
+            "/json",
+            post(|payload: Json<serde_json::Value>| async move {
+                Json(serde_json::json!({ "data": payload.0 }))
+            }),
+        )
+        // We can still add middleware
+        .layer(TraceLayer::new_for_http())
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[cfg(not(target_os = "windows"))]
+    use std::net::{SocketAddr, TcpListener};
+
+    use axum::{
+        body::Body,
+        http::{self, Request, StatusCode},
+    };
+    use serde_json::{json, Value};
+    use tower::ServiceExt; // for `app.oneshot()`
+
+    #[tokio::test]
+    async fn hello_world() {
+        let app = app();
+
+        // `Router` implements `tower::Service<Request<Body>>` so we can
+        // call it like any tower service, no need to run an HTTP server.
+        let response = app
+            .oneshot(Request::builder().uri("/").body(Body::empty()).unwrap())
+            .await
+            .unwrap();
+
+        assert_eq!(response.status(), StatusCode::OK);
+
+        let body = hyper::body::to_bytes(response.into_body()).await.unwrap();
+        assert_eq!(&body[..], b"Hello, World!");
+    }
+
+    #[tokio::test]
+    async fn json() {
+        let app = app();
+
+        let response = app
+            .oneshot(
+                Request::builder()
+                    .method(http::Method::POST)
+                    .uri("/json")
+                    .header(http::header::CONTENT_TYPE, mime::APPLICATION_JSON.as_ref())
+                    .body(Body::from(
+                        serde_json::to_vec(&json!([1_i8, 2_i8, 3_i8, 4_i8])).unwrap(),
+                    ))
+                    .unwrap(),
+            )
+            .await
+            .unwrap();
+
+        assert_eq!(response.status(), StatusCode::OK);
+
+        let body = hyper::body::to_bytes(response.into_body()).await.unwrap();
+        let body: Value = serde_json::from_slice(&body).unwrap();
+        assert_eq!(body, json!({ "data": [1_i8, 2_i8, 3_i8, 4_i8] }));
+    }
+
+    #[tokio::test]
+    async fn not_found() {
+        let app = app();
+
+        let response = app
+            .oneshot(
+                Request::builder()
+                    .uri("/does-not-exist")
+                    .body(Body::empty())
+                    .unwrap(),
+            )
+            .await
+            .unwrap();
+
+        assert_eq!(response.status(), StatusCode::NOT_FOUND);
+        let body = hyper::body::to_bytes(response.into_body()).await.unwrap();
+        assert!(body.is_empty());
+    }
+
+    // TODO: This test fails on Windows, it shouldn't but it's unclear to me
+    // if this is an issue on the host or with the test.
+    #[cfg(not(target_os = "windows"))]
+    // You can also spawn a server and talk to it like any other HTTP server:
+    #[tokio::test]
+    async fn the_real_deal() {
+        let listener = TcpListener::bind("0.0.0.0:0".parse::<SocketAddr>().unwrap()).unwrap();
+        let addr = listener.local_addr().unwrap();
+
+        tokio::spawn(async move {
+            axum::Server::from_tcp(listener)
+                .unwrap()
+                .serve(app().into_make_service())
+                .await
+                .unwrap();
+        });
+
+        let client = hyper::Client::new();
+
+        let response = client
+            .request(
+                Request::builder()
+                    .uri(format!("http://{addr}"))
+                    .body(Body::empty())
+                    .unwrap(),
+            )
+            .await
+            .unwrap();
+
+        let body = hyper::body::to_bytes(response.into_body()).await.unwrap();
+        assert_eq!(&body[..], b"Hello, World!");
+    }
+}
diff --git a/examples/env_locations/BUILD.bazel b/examples/env_locations/BUILD.bazel
index 82161bb..7dd3a4a 100644
--- a/examples/env_locations/BUILD.bazel
+++ b/examples/env_locations/BUILD.bazel
@@ -1,4 +1,4 @@
-load("@rules_rust//cargo:cargo_build_script.bzl", "cargo_build_script")
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
 load("@rules_rust//rust:defs.bzl", "rust_test")
 
 # generate a file
diff --git a/examples/ios/.bazelrc b/examples/ios/.bazelrc
new file mode 100644
index 0000000..5732693
--- /dev/null
+++ b/examples/ios/.bazelrc
@@ -0,0 +1,9 @@
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
+# Enable CC toolchain that supports iOS from https://github.com/bazelbuild/apple_support
+build --apple_crosstool_top=@local_config_apple_cc//:toolchain
+build --crosstool_top=@local_config_apple_cc//:toolchain
+build --host_crosstool_top=@local_config_apple_cc//:toolchain
diff --git a/examples/ios/.gitignore b/examples/ios/.gitignore
new file mode 100644
index 0000000..a6ef824
--- /dev/null
+++ b/examples/ios/.gitignore
@@ -0,0 +1 @@
+/bazel-*
diff --git a/examples/ios/BUILD.bazel b/examples/ios/BUILD.bazel
new file mode 100644
index 0000000..81cba9c
--- /dev/null
+++ b/examples/ios/BUILD.bazel
@@ -0,0 +1,92 @@
+load("@build_bazel_rules_apple//apple:ios.bzl", "ios_application")
+load("@build_bazel_rules_apple//apple:macos.bzl", "macos_application")
+load("@rules_cc//cc:defs.bzl", "cc_library", "objc_library")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+cc_library(
+    name = "allocator_library",
+    srcs = ["allocator_library.cc"],
+    tags = ["manual"],
+)
+
+rust_library(
+    name = "rust_lib",
+    srcs = ["demo.rs"],
+    edition = "2018",
+    tags = ["manual"],
+    deps = [":allocator_library"],
+)
+
+# TODO: Remove this once rules_rust doesn't support bazel 5.x
+cc_library(
+    name = "shim",
+    tags = ["manual"],
+    deps = [":rust_lib"],
+)
+
+objc_library(
+    name = "main_lib",
+    srcs = ["main_lib.m"],
+    tags = ["manual"],
+    deps = [":shim"],
+)
+
+ios_application(
+    name = "ios_app",
+    bundle_id = "com.example.iosapp",
+    families = ["iphone"],
+    infoplists = ["Info.plist"],
+    minimum_os_version = "13.0",
+    deps = [":main_lib"],
+)
+
+macos_application(
+    name = "macos_app",
+    bundle_id = "com.example.macosapp",
+    infoplists = ["Info.plist"],
+    minimum_os_version = "10.15",
+    deps = [":main_lib"],
+)
+
+platform(
+    name = "macos_x86_64",
+    constraint_values = [
+        "@platforms//cpu:x86_64",
+        "@platforms//os:macos",
+    ],
+)
+
+platform(
+    name = "macos_arm64",
+    constraint_values = [
+        "@platforms//cpu:arm64",
+        "@platforms//os:macos",
+    ],
+)
+
+platform(
+    name = "ios_x86_64",
+    constraint_values = [
+        "@platforms//cpu:x86_64",
+        "@platforms//os:ios",
+        "@build_bazel_apple_support//constraints:simulator",
+    ],
+)
+
+platform(
+    name = "ios_sim_arm64",
+    constraint_values = [
+        "@platforms//cpu:arm64",
+        "@platforms//os:ios",
+        "@build_bazel_apple_support//constraints:simulator",
+    ],
+)
+
+platform(
+    name = "ios_arm64",
+    constraint_values = [
+        "@platforms//cpu:arm64",
+        "@platforms//os:ios",
+        "@build_bazel_apple_support//constraints:device",
+    ],
+)
diff --git a/examples/ios/Info.plist b/examples/ios/Info.plist
new file mode 100644
index 0000000..64f09f3
--- /dev/null
+++ b/examples/ios/Info.plist
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>ITSAppUsesNonExemptEncryption</key>
+	<false/>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>UILaunchStoryboardName</key>
+	<string>LaunchScreen</string>
+	<key>UIRequiredDeviceCapabilities</key>
+	<array>
+		<string>arm64</string>
+	</array>
+	<key>UIStatusBarHidden</key>
+	<false/>
+	<key>UIStatusBarStyle</key>
+	<string>UIStatusBarStyleDefault</string>
+</dict>
+</plist>
diff --git a/examples/ios/WORKSPACE.bazel b/examples/ios/WORKSPACE.bazel
new file mode 100644
index 0000000..053b1a5
--- /dev/null
+++ b/examples/ios/WORKSPACE.bazel
@@ -0,0 +1,50 @@
+workspace(name = "ios_examples")
+
+# Users of `rules_rust` will commonly be unable to load it
+# using a `local_repository`. Instead, to setup the rules,
+# please see https://bazelbuild.github.io/rules_rust/#setup
+local_repository(
+    name = "rules_rust",
+    path = "../..",
+)
+
+load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
+
+rules_rust_dependencies()
+
+rust_register_toolchains(
+    edition = "2018",
+    extra_target_triples = [
+        "aarch64-apple-ios-sim",
+        "x86_64-apple-ios",
+    ],
+)
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+http_archive(
+    name = "build_bazel_rules_apple",
+    sha256 = "a6141240657093fa7ccc7ca1ee5a62408dd9996d1bf47bc2369b8b9faefb2698",
+    url = "https://github.com/bazelbuild/rules_apple/releases/download/2.3.0/rules_apple.2.3.0.tar.gz",
+)
+
+load(
+    "@build_bazel_rules_apple//apple:repositories.bzl",
+    "apple_rules_dependencies",
+)
+
+apple_rules_dependencies()
+
+load(
+    "@build_bazel_rules_swift//swift:repositories.bzl",
+    "swift_rules_dependencies",
+)
+
+swift_rules_dependencies()
+
+load(
+    "@build_bazel_apple_support//lib:repositories.bzl",
+    "apple_support_dependencies",
+)
+
+apple_support_dependencies()
diff --git a/examples/ios/allocator_library.cc b/examples/ios/allocator_library.cc
new file mode 100644
index 0000000..be82631
--- /dev/null
+++ b/examples/ios/allocator_library.cc
@@ -0,0 +1,52 @@
+#include <stdint.h>
+
+// This file has some exciting magic to get Rust code linking in a cc_binary.
+// The Rust compiler generates some similar symbol aliases when it links, so we
+// have to do it manually. We mark all our symbols as weak so that linking this
+// via Rust tooling to produce a binary with a Rust main works.
+//
+// It is intended to be used in rust_toolchain.allocator_library.
+//
+// https://github.com/rust-lang/rust/blob/master/library/alloc/src/alloc.rs
+// and https://github.com/rust-lang/rust/blob/master/library/std/src/alloc.rs
+// are the best source of docs I've found on these functions and variables.
+// https://doc.rust-lang.org/std/alloc/index.html talks about how this is
+// intended to be used.
+//
+// Also note
+// https://rust-lang.github.io/unsafe-code-guidelines/layout/scalars.html for
+// the sizes of the various integer types.
+//
+// This file strongly assumes that the default allocator is used. It will
+// not work with any other allocated switched in via `#[global_allocator]`.
+
+// New feature as of https://github.com/rust-lang/rust/pull/88098.
+__attribute__((weak)) uint8_t __rust_alloc_error_handler_should_panic = 0;
+
+extern "C" uint8_t *__rdl_alloc(uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+uint8_t *__rust_alloc(uintptr_t size, uintptr_t align) {
+  return __rdl_alloc(size, align);
+}
+extern "C" void __rdl_dealloc(uint8_t *ptr, uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+void __rust_dealloc(uint8_t *ptr, uintptr_t size, uintptr_t align) {
+  __rdl_dealloc(ptr, size, align);
+}
+extern "C" uint8_t *__rdl_realloc(uint8_t *ptr, uintptr_t old_size, uintptr_t align,
+                       uintptr_t new_size);
+extern "C" __attribute__((weak))
+uint8_t *__rust_realloc(uint8_t *ptr, uintptr_t old_size, uintptr_t align,
+                        uintptr_t new_size) {
+  return __rdl_realloc(ptr, old_size, align, new_size);
+}
+extern "C" uint8_t *__rdl_alloc_zeroed(uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+uint8_t *__rust_alloc_zeroed(uintptr_t size, uintptr_t align) {
+  return __rdl_alloc_zeroed(size, align);
+}
+extern "C" void __rdl_oom(uintptr_t size, uintptr_t align);
+extern "C" __attribute__((weak))
+void __rust_alloc_error_handler(uintptr_t size, uintptr_t align) {
+  __rdl_oom(size, align);
+}
diff --git a/examples/ios/demo.rs b/examples/ios/demo.rs
new file mode 100644
index 0000000..37b7587
--- /dev/null
+++ b/examples/ios/demo.rs
@@ -0,0 +1,9 @@
+#[no_mangle]
+pub extern fn print_something_from_rust() {
+    println!("Ferris says hello!");
+}
+
+#[no_mangle]
+pub extern fn get_a_value_from_rust() -> i32 {
+    42
+}
diff --git a/examples/ios/main_lib.m b/examples/ios/main_lib.m
new file mode 100644
index 0000000..2d287cd
--- /dev/null
+++ b/examples/ios/main_lib.m
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+// Instead of doing this manually https://github.com/dtolnay/cxx could be used for complex examples
+extern int32_t get_a_value_from_rust(void);
+extern void print_something_from_rust(void);
+
+int main() {
+  print_something_from_rust();
+  printf("Some value from rust: %d\n", get_a_value_from_rust());
+  return 0;
+}
diff --git a/examples/ios/platform_mappings b/examples/ios/platform_mappings
new file mode 100644
index 0000000..3b9c097
--- /dev/null
+++ b/examples/ios/platform_mappings
@@ -0,0 +1,21 @@
+# https://github.com/bazelbuild/rules_apple/issues/1658
+flags:
+  --cpu=darwin_x86_64
+  --apple_platform_type=macos
+    //:macos_x86_64
+
+  --cpu=darwin_arm64
+  --apple_platform_type=macos
+    //:macos_arm64
+
+  --cpu=ios_x86_64
+  --apple_platform_type=ios
+    //:ios_x86_64
+
+  --cpu=ios_sim_arm64
+  --apple_platform_type=ios
+    //:ios_sim_arm64
+
+  --cpu=ios_arm64
+  --apple_platform_type=ios
+    //:ios_arm64
diff --git a/examples/ios_build/.bazelrc b/examples/ios_build/.bazelrc
new file mode 100644
index 0000000..5732693
--- /dev/null
+++ b/examples/ios_build/.bazelrc
@@ -0,0 +1,9 @@
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
+# Enable CC toolchain that supports iOS from https://github.com/bazelbuild/apple_support
+build --apple_crosstool_top=@local_config_apple_cc//:toolchain
+build --crosstool_top=@local_config_apple_cc//:toolchain
+build --host_crosstool_top=@local_config_apple_cc//:toolchain
diff --git a/examples/ios_build/.gitignore b/examples/ios_build/.gitignore
new file mode 100644
index 0000000..ac51a05
--- /dev/null
+++ b/examples/ios_build/.gitignore
@@ -0,0 +1 @@
+bazel-*
diff --git a/examples/ios_build/3rdparty/BUILD.bazel b/examples/ios_build/3rdparty/BUILD.bazel
new file mode 100644
index 0000000..43ecf5d
--- /dev/null
+++ b/examples/ios_build/3rdparty/BUILD.bazel
@@ -0,0 +1,12 @@
+load("@rules_rust//crate_universe:defs.bzl", "crates_vendor", "splicing_config")
+
+crates_vendor(
+    name = "crates_vendor",
+    cargo_lockfile = "//:Cargo.lock",
+    manifests = ["//:Cargo.toml"],
+    repository_name = "ios_build",
+    splicing_config = splicing_config(
+        resolver_version = "2",
+    ),
+    tags = ["manual"],
+)
diff --git a/examples/ios_build/3rdparty/crates/BUILD.bazel b/examples/ios_build/3rdparty/crates/BUILD.bazel
new file mode 100644
index 0000000..ed9283e
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/BUILD.bazel
@@ -0,0 +1,32 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+
+package(default_visibility = ["//visibility:public"])
+
+exports_files(
+    [
+        "cargo-bazel.json",
+        "crates.bzl",
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "*.bazel",
+        "*.bzl",
+    ]),
+)
+
+# Workspace Member Dependencies
+alias(
+    name = "zstd",
+    actual = "@ios_build__zstd-0.11.2-zstd.1.5.2//:zstd",
+    tags = ["manual"],
+)
diff --git a/examples/ios_build/3rdparty/crates/BUILD.cc-1.0.73.bazel b/examples/ios_build/3rdparty/crates/BUILD.cc-1.0.73.bazel
new file mode 100644
index 0000000..6deb2a8
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/BUILD.cc-1.0.73.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "cc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "jobserver",
+        "parallel",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.73",
+    deps = [
+        "@ios_build__jobserver-0.1.25//:jobserver",
+    ],
+)
diff --git a/examples/ios_build/3rdparty/crates/BUILD.jobserver-0.1.25.bazel b/examples/ios_build/3rdparty/crates/BUILD.jobserver-0.1.25.bazel
new file mode 100644
index 0000000..69ec0e3
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/BUILD.jobserver-0.1.25.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "jobserver",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.25",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@ios_build__libc-0.2.134//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/ios_build/3rdparty/crates/BUILD.libc-0.2.134.bazel b/examples/ios_build/3rdparty/crates/BUILD.libc-0.2.134.bazel
new file mode 100644
index 0000000..6774eec
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/BUILD.libc-0.2.134.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.134",
+    deps = [
+        "@ios_build__libc-0.2.134//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.134",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/ios_build/3rdparty/crates/BUILD.zstd-0.11.2+zstd.1.5.2.bazel b/examples/ios_build/3rdparty/crates/BUILD.zstd-0.11.2+zstd.1.5.2.bazel
new file mode 100644
index 0000000..65befa6
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/BUILD.zstd-0.11.2+zstd.1.5.2.bazel
@@ -0,0 +1,49 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "zstd",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "arrays",
+        "default",
+        "legacy",
+        "zdict_builder",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.11.2+zstd.1.5.2",
+    deps = [
+        "@ios_build__zstd-safe-5.0.2-zstd.1.5.2//:zstd_safe",
+    ],
+)
diff --git a/examples/ios_build/3rdparty/crates/BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel b/examples/ios_build/3rdparty/crates/BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel
new file mode 100644
index 0000000..ade9501
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "zstd_safe",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "arrays",
+        "legacy",
+        "std",
+        "zdict_builder",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "5.0.2+zstd.1.5.2",
+    deps = [
+        "@ios_build__libc-0.2.134//:libc",
+        "@ios_build__zstd-safe-5.0.2-zstd.1.5.2//:build_script_build",
+        "@ios_build__zstd-sys-2.0.1-zstd.1.5.2//:zstd_sys",
+    ],
+)
+
+cargo_build_script(
+    name = "zstd-safe_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "arrays",
+        "legacy",
+        "std",
+        "zdict_builder",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "5.0.2+zstd.1.5.2",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "zstd-safe_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/ios_build/3rdparty/crates/BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel b/examples/ios_build/3rdparty/crates/BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel
new file mode 100644
index 0000000..4c7b1da
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "zstd_sys",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "legacy",
+        "std",
+        "zdict_builder",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.1+zstd.1.5.2",
+    deps = [
+        "@ios_build__libc-0.2.134//:libc",
+        "@ios_build__zstd-sys-2.0.1-zstd.1.5.2//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "zstd-sys_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "legacy",
+        "std",
+        "zdict_builder",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2018",
+    links = "zstd",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.1+zstd.1.5.2",
+    visibility = ["//visibility:private"],
+    deps = [
+        "@ios_build__cc-1.0.73//:cc",
+    ],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "zstd-sys_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/ios_build/3rdparty/crates/crates.bzl b/examples/ios_build/3rdparty/crates/crates.bzl
new file mode 100644
index 0000000..c777686
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/crates.bzl
@@ -0,0 +1,25 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+"""Rules for defining repositories for remote `crates_vendor` repositories"""
+
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust_examples_ios_build//3rdparty/crates:defs.bzl", _crate_repositories = "crate_repositories")
+
+def crate_repositories():
+    maybe(
+        crates_vendor_remote_repository,
+        name = "ios_build",
+        build_file = Label("@rules_rust_examples_ios_build//3rdparty/crates:BUILD.bazel"),
+        defs_module = Label("@rules_rust_examples_ios_build//3rdparty/crates:defs.bzl"),
+    )
+
+    _crate_repositories()
diff --git a/examples/ios_build/3rdparty/crates/defs.bzl b/examples/ios_build/3rdparty/crates/defs.bzl
new file mode 100644
index 0000000..f6d235b
--- /dev/null
+++ b/examples/ios_build/3rdparty/crates/defs.bzl
@@ -0,0 +1,422 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//3rdparty:crates_vendor
+###############################################################################
+"""
+# `crates_repository` API
+
+- [aliases](#aliases)
+- [crate_deps](#crate_deps)
+- [all_crate_deps](#all_crate_deps)
+- [crate_repositories](#crate_repositories)
+
+"""
+
+load("@bazel_skylib//lib:selects.bzl", "selects")
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+###############################################################################
+# MACROS API
+###############################################################################
+
+# An identifier that represent common dependencies (unconditional).
+_COMMON_CONDITION = ""
+
+def _flatten_dependency_maps(all_dependency_maps):
+    """Flatten a list of dependency maps into one dictionary.
+
+    Dependency maps have the following structure:
+
+    ```python
+    DEPENDENCIES_MAP = {
+        # The first key in the map is a Bazel package
+        # name of the workspace this file is defined in.
+        "workspace_member_package": {
+
+            # Not all dependencies are supported for all platforms.
+            # the condition key is the condition required to be true
+            # on the host platform.
+            "condition": {
+
+                # An alias to a crate target.     # The label of the crate target the
+                # Aliases are only crate names.   # package name refers to.
+                "package_name":                   "@full//:label",
+            }
+        }
+    }
+    ```
+
+    Args:
+        all_dependency_maps (list): A list of dicts as described above
+
+    Returns:
+        dict: A dictionary as described above
+    """
+    dependencies = {}
+
+    for workspace_deps_map in all_dependency_maps:
+        for pkg_name, conditional_deps_map in workspace_deps_map.items():
+            if pkg_name not in dependencies:
+                non_frozen_map = dict()
+                for key, values in conditional_deps_map.items():
+                    non_frozen_map.update({key: dict(values.items())})
+                dependencies.setdefault(pkg_name, non_frozen_map)
+                continue
+
+            for condition, deps_map in conditional_deps_map.items():
+                # If the condition has not been recorded, do so and continue
+                if condition not in dependencies[pkg_name]:
+                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
+                    continue
+
+                # Alert on any miss-matched dependencies
+                inconsistent_entries = []
+                for crate_name, crate_label in deps_map.items():
+                    existing = dependencies[pkg_name][condition].get(crate_name)
+                    if existing and existing != crate_label:
+                        inconsistent_entries.append((crate_name, existing, crate_label))
+                    dependencies[pkg_name][condition].update({crate_name: crate_label})
+
+    return dependencies
+
+def crate_deps(deps, package_name = None):
+    """Finds the fully qualified label of the requested crates for the package where this macro is called.
+
+    Args:
+        deps (list): The desired list of crate targets.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()`.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if not deps:
+        return []
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Join both sets of dependencies
+    dependencies = _flatten_dependency_maps([
+        _NORMAL_DEPENDENCIES,
+        _NORMAL_DEV_DEPENDENCIES,
+        _PROC_MACRO_DEPENDENCIES,
+        _PROC_MACRO_DEV_DEPENDENCIES,
+        _BUILD_DEPENDENCIES,
+        _BUILD_PROC_MACRO_DEPENDENCIES,
+    ]).pop(package_name, {})
+
+    # Combine all conditional packages so we can easily index over a flat list
+    # TODO: Perhaps this should actually return select statements and maintain
+    # the conditionals of the dependencies
+    flat_deps = {}
+    for deps_set in dependencies.values():
+        for crate_name, crate_label in deps_set.items():
+            flat_deps.update({crate_name: crate_label})
+
+    missing_crates = []
+    crate_targets = []
+    for crate_target in deps:
+        if crate_target not in flat_deps:
+            missing_crates.append(crate_target)
+        else:
+            crate_targets.append(flat_deps[crate_target])
+
+    if missing_crates:
+        fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
+            missing_crates,
+            package_name,
+            dependencies,
+        ))
+
+    return crate_targets
+
+def all_crate_deps(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Finds the fully qualified label of all requested direct crate dependencies \
+    for the package where this macro is called.
+
+    If no parameters are set, all normal dependencies are returned. Setting any one flag will
+    otherwise impact the contents of the returned list.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normal dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_dependency_maps = []
+    if normal:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+    if normal_dev:
+        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
+    if proc_macro:
+        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
+    if proc_macro_dev:
+        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
+    if build:
+        all_dependency_maps.append(_BUILD_DEPENDENCIES)
+    if build_proc_macro:
+        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
+
+    # Default to always using normal dependencies
+    if not all_dependency_maps:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+
+    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
+
+    if not dependencies:
+        if dependencies == None:
+            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
+        else:
+            return []
+
+    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
+    for condition, deps in dependencies.items():
+        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+
+    return crate_deps
+
+def aliases(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Produces a map of Crate alias names to their original label
+
+    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
+    Setting any one flag will otherwise determine the contents of the returned dict.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normal dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        dict: The aliases of all associated packages
+    """
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_aliases_maps = []
+    if normal:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+    if normal_dev:
+        all_aliases_maps.append(_NORMAL_DEV_ALIASES)
+    if proc_macro:
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+    if proc_macro_dev:
+        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
+    if build:
+        all_aliases_maps.append(_BUILD_ALIASES)
+    if build_proc_macro:
+        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
+
+    # Default to always using normal aliases
+    if not all_aliases_maps:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+
+    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
+
+    if not aliases:
+        return dict()
+
+    common_items = aliases.pop(_COMMON_CONDITION, {}).items()
+
+    # If there are only common items in the dictionary, immediately return them
+    if not len(aliases.keys()) == 1:
+        return dict(common_items)
+
+    # Build a single select statement where each conditional has accounted for the
+    # common set of aliases.
+    crate_aliases = {"//conditions:default": common_items}
+    for condition, deps in aliases.items():
+        condition_triples = _CONDITIONS[condition]
+        if condition_triples in crate_aliases:
+            crate_aliases[condition_triples].update(deps)
+        else:
+            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+
+    return selects.with_or(crate_aliases)
+
+###############################################################################
+# WORKSPACE MEMBER DEPS AND ALIASES
+###############################################################################
+
+_NORMAL_DEPENDENCIES = {
+    "": {
+        _COMMON_CONDITION: {
+            "zstd": "@ios_build__zstd-0.11.2-zstd.1.5.2//:zstd",
+        },
+    },
+}
+
+_NORMAL_ALIASES = {
+    "": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_NORMAL_DEV_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_NORMAL_DEV_ALIASES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_ALIASES = {
+    "": {
+    },
+}
+
+_BUILD_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_ALIASES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_CONDITIONS = {
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+}
+
+###############################################################################
+
+def crate_repositories():
+    """A macro for defining repositories for all generated crates"""
+    maybe(
+        http_archive,
+        name = "ios_build__cc-1.0.73",
+        sha256 = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cc/1.0.73/download"],
+        strip_prefix = "cc-1.0.73",
+        build_file = Label("@rules_rust_examples_ios_build//3rdparty/crates:BUILD.cc-1.0.73.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "ios_build__jobserver-0.1.25",
+        sha256 = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/jobserver/0.1.25/download"],
+        strip_prefix = "jobserver-0.1.25",
+        build_file = Label("@rules_rust_examples_ios_build//3rdparty/crates:BUILD.jobserver-0.1.25.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "ios_build__libc-0.2.134",
+        sha256 = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.134/download"],
+        strip_prefix = "libc-0.2.134",
+        build_file = Label("@rules_rust_examples_ios_build//3rdparty/crates:BUILD.libc-0.2.134.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "ios_build__zstd-0.11.2-zstd.1.5.2",
+        sha256 = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/zstd/0.11.2+zstd.1.5.2/download"],
+        strip_prefix = "zstd-0.11.2+zstd.1.5.2",
+        build_file = Label("@rules_rust_examples_ios_build//3rdparty/crates:BUILD.zstd-0.11.2+zstd.1.5.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "ios_build__zstd-safe-5.0.2-zstd.1.5.2",
+        sha256 = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/zstd-safe/5.0.2+zstd.1.5.2/download"],
+        strip_prefix = "zstd-safe-5.0.2+zstd.1.5.2",
+        build_file = Label("@rules_rust_examples_ios_build//3rdparty/crates:BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "ios_build__zstd-sys-2.0.1-zstd.1.5.2",
+        sha256 = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/zstd-sys/2.0.1+zstd.1.5.2/download"],
+        strip_prefix = "zstd-sys-2.0.1+zstd.1.5.2",
+        build_file = Label("@rules_rust_examples_ios_build//3rdparty/crates:BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel"),
+    )
diff --git a/examples/ios_build/BUILD.bazel b/examples/ios_build/BUILD.bazel
new file mode 100644
index 0000000..8fa8978
--- /dev/null
+++ b/examples/ios_build/BUILD.bazel
@@ -0,0 +1,70 @@
+load("@rules_rust//rust:defs.bzl", "rust_static_library")
+
+exports_files([
+    "Cargo.toml",
+    "Cargo.lock",
+])
+
+rust_static_library(
+    name = "ios_build_lib",
+    srcs = glob(["**/*.rs"]),
+    edition = "2018",
+    deps = [
+        "@ios_build//:zstd",
+    ],
+)
+
+filegroup(
+    name = "lib",
+    srcs = ["ios_build_lib"],
+)
+
+sh_test(
+    name = "check_arch",
+    srcs = ["check_arch.sh"],
+    args = ["$(location :lib)"],
+    data = [":lib"],
+)
+
+platform(
+    name = "macos_x86_64",
+    constraint_values = [
+        "@platforms//cpu:x86_64",
+        "@platforms//os:macos",
+    ],
+)
+
+platform(
+    name = "macos_arm64",
+    constraint_values = [
+        "@platforms//cpu:arm64",
+        "@platforms//os:macos",
+    ],
+)
+
+platform(
+    name = "ios_x86_64",
+    constraint_values = [
+        "@platforms//cpu:x86_64",
+        "@platforms//os:ios",
+        "@build_bazel_apple_support//constraints:simulator",
+    ],
+)
+
+platform(
+    name = "ios_sim_arm64",
+    constraint_values = [
+        "@platforms//cpu:arm64",
+        "@platforms//os:ios",
+        "@build_bazel_apple_support//constraints:simulator",
+    ],
+)
+
+platform(
+    name = "ios_arm64",
+    constraint_values = [
+        "@platforms//cpu:arm64",
+        "@platforms//os:ios",
+        "@build_bazel_apple_support//constraints:device",
+    ],
+)
diff --git a/examples/ios_build/Cargo.lock b/examples/ios_build/Cargo.lock
new file mode 100644
index 0000000..919712a
--- /dev/null
+++ b/examples/ios_build/Cargo.lock
@@ -0,0 +1,63 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+dependencies = [
+ "jobserver",
+]
+
+[[package]]
+name = "ios_build"
+version = "0.1.0"
+dependencies = [
+ "zstd",
+]
+
+[[package]]
+name = "jobserver"
+version = "0.1.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.134"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb"
+
+[[package]]
+name = "zstd"
+version = "0.11.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
+dependencies = [
+ "zstd-safe",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "5.0.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
+dependencies = [
+ "libc",
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-sys"
+version = "2.0.1+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b"
+dependencies = [
+ "cc",
+ "libc",
+]
diff --git a/examples/ios_build/Cargo.toml b/examples/ios_build/Cargo.toml
new file mode 100644
index 0000000..de64c22
--- /dev/null
+++ b/examples/ios_build/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "ios_build"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+zstd = "0.11.2"
diff --git a/examples/ios_build/WORKSPACE.bazel b/examples/ios_build/WORKSPACE.bazel
new file mode 100644
index 0000000..8fabc30
--- /dev/null
+++ b/examples/ios_build/WORKSPACE.bazel
@@ -0,0 +1,56 @@
+workspace(name = "rules_rust_examples_ios_build")
+
+local_repository(
+    name = "rules_rust",
+    path = "../../",
+)
+
+load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
+
+rules_rust_dependencies()
+
+rust_register_toolchains(
+    edition = "2018",
+    extra_target_triples = [
+        "aarch64-apple-ios-sim",
+        "x86_64-apple-ios",
+    ],
+)
+
+load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
+
+crate_universe_dependencies(bootstrap = True)
+
+load(
+    "//3rdparty/crates:crates.bzl",
+    ios_build_crate_repositories = "crate_repositories",
+)
+
+ios_build_crate_repositories()
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+# Used for Bazel CI
+http_archive(
+    name = "bazelci_rules",
+    sha256 = "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
+    strip_prefix = "bazelci_rules-1.0.0",
+    url = "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz",
+)
+
+load("@bazelci_rules//:rbe_repo.bzl", "rbe_preconfig")
+
+# Creates a default toolchain config for RBE.
+# Use this as is if you are using the rbe_ubuntu16_04 container,
+# otherwise refer to RBE docs.
+rbe_preconfig(
+    name = "buildkite_config",
+    toolchain = "ubuntu1804-bazel-java11",
+)
+
+load(
+    "@build_bazel_apple_support//lib:repositories.bzl",
+    "apple_support_dependencies",
+)
+
+apple_support_dependencies()
diff --git a/examples/ios_build/check_arch.sh b/examples/ios_build/check_arch.sh
new file mode 100755
index 0000000..8ae6d86
--- /dev/null
+++ b/examples/ios_build/check_arch.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+#
+# When compiling with --platforms=//:ios_sim_arm64 or --platforms=//:ios_x86_64,
+# the library should not contain any references to macOS (platform 1)
+
+set -e
+
+if [[ "$OSTYPE" != "darwin"* ]]; then
+    echo "This test only makes sense on macOS."
+    exit 0
+fi
+
+if otool -l $1 | grep 'platform 1'; then
+    echo "macOS detected."
+    exit 1
+fi
\ No newline at end of file
diff --git a/examples/ios_build/platform_mappings b/examples/ios_build/platform_mappings
new file mode 100644
index 0000000..3b9c097
--- /dev/null
+++ b/examples/ios_build/platform_mappings
@@ -0,0 +1,21 @@
+# https://github.com/bazelbuild/rules_apple/issues/1658
+flags:
+  --cpu=darwin_x86_64
+  --apple_platform_type=macos
+    //:macos_x86_64
+
+  --cpu=darwin_arm64
+  --apple_platform_type=macos
+    //:macos_arm64
+
+  --cpu=ios_x86_64
+  --apple_platform_type=ios
+    //:ios_x86_64
+
+  --cpu=ios_sim_arm64
+  --apple_platform_type=ios
+    //:ios_sim_arm64
+
+  --cpu=ios_arm64
+  --apple_platform_type=ios
+    //:ios_arm64
diff --git a/examples/ios_build/src/lib.rs b/examples/ios_build/src/lib.rs
new file mode 100644
index 0000000..5f0cad6
--- /dev/null
+++ b/examples/ios_build/src/lib.rs
@@ -0,0 +1,2 @@
+#[allow(unused_imports, clippy::single_component_path_imports)]
+use zstd;
diff --git a/examples/proto/basic/BUILD.bazel b/examples/proto/basic/BUILD.bazel
index 9853a2e..74afe68 100644
--- a/examples/proto/basic/BUILD.bazel
+++ b/examples/proto/basic/BUILD.bazel
@@ -5,18 +5,21 @@
 
 rust_proto_library(
     name = "common_proto_rust",
+    tags = ["manual"],
     deps = ["//proto:common"],
 )
 
 rust_library(
     name = "common_lib",
     srcs = ["lib.rs"],
+    tags = ["manual"],
     deps = [":common_proto_rust"],
 )
 
 rust_binary(
     name = "common_bin",
     srcs = ["main.rs"],
+    tags = ["manual"],
     deps = [
         ":common_lib",
         ":common_proto_rust",
diff --git a/examples/proto/helloworld/BUILD.bazel b/examples/proto/helloworld/BUILD.bazel
index db30a9d..f61d6c1 100644
--- a/examples/proto/helloworld/BUILD.bazel
+++ b/examples/proto/helloworld/BUILD.bazel
@@ -5,11 +5,13 @@
 proto_library(
     name = "helloworld",
     srcs = ["helloworld.proto"],
+    tags = ["manual"],
     deps = ["//proto:common"],
 )
 
 rust_grpc_library(
     name = "helloworld_proto",
+    tags = ["manual"],
     visibility = ["//proto/helloworld:__subpackages__"],
     deps = [":helloworld"],
 )
@@ -21,5 +23,6 @@
         "//proto/helloworld/greeter_client",
         "//proto/helloworld/greeter_server",
     ],
+    tags = ["manual"],
     deps = ["@rules_rust//tools/runfiles"],
 )
diff --git a/examples/proto/helloworld/greeter_client/BUILD.bazel b/examples/proto/helloworld/greeter_client/BUILD.bazel
index b35435e..828aeb9 100644
--- a/examples/proto/helloworld/greeter_client/BUILD.bazel
+++ b/examples/proto/helloworld/greeter_client/BUILD.bazel
@@ -1,9 +1,10 @@
-load("@rules_rust//proto:toolchain.bzl", "GRPC_COMPILE_DEPS")
+load("@rules_rust//proto/protobuf:toolchain.bzl", "GRPC_COMPILE_DEPS")
 load("@rules_rust//rust:defs.bzl", "rust_binary")
 
 rust_binary(
     name = "greeter_client",
     srcs = ["greeter_client.rs"],
+    tags = ["manual"],
     visibility = ["//proto/helloworld:__subpackages__"],
     deps = [
         "//proto/helloworld:helloworld_proto",
diff --git a/examples/proto/helloworld/greeter_server/BUILD.bazel b/examples/proto/helloworld/greeter_server/BUILD.bazel
index 616ecb5..40b78bb 100644
--- a/examples/proto/helloworld/greeter_server/BUILD.bazel
+++ b/examples/proto/helloworld/greeter_server/BUILD.bazel
@@ -1,9 +1,10 @@
-load("@rules_rust//proto:toolchain.bzl", "GRPC_COMPILE_DEPS")
+load("@rules_rust//proto/protobuf:toolchain.bzl", "GRPC_COMPILE_DEPS")
 load("@rules_rust//rust:defs.bzl", "rust_binary")
 
 rust_binary(
     name = "greeter_server",
     srcs = ["greeter_server.rs"],
+    tags = ["manual"],
     visibility = ["//proto/helloworld:__subpackages__"],
     deps = [
         "//proto/helloworld:helloworld_proto",
diff --git a/examples/proto/helloworld/greeter_server/greeter_server.rs b/examples/proto/helloworld/greeter_server/greeter_server.rs
index 17a09a1..8573cd0 100644
--- a/examples/proto/helloworld/greeter_server/greeter_server.rs
+++ b/examples/proto/helloworld/greeter_server/greeter_server.rs
@@ -36,8 +36,8 @@
         } else {
             req.get_name()
         };
-        println!("greeting request from {}", name);
-        r.set_message(format!("Hello {}", name));
+        println!("greeting request from {name}");
+        r.set_message(format!("Hello {name}"));
         grpc::SingleResponse::completed(r)
     }
 }
@@ -50,7 +50,7 @@
     server.http.set_cpu_pool_threads(4);
     let server = server.build().expect("server");
     let port = server.local_addr().port().unwrap();
-    println!("greeter server started on port {}", port);
+    println!("greeter server started on port {port}");
 
     loop {
         thread::park();
diff --git a/examples/proto/helloworld/helloworld_test.rs b/examples/proto/helloworld/helloworld_test.rs
index c82e474..912f039 100644
--- a/examples/proto/helloworld/helloworld_test.rs
+++ b/examples/proto/helloworld/helloworld_test.rs
@@ -58,7 +58,7 @@
                 }
             }
         }
-        println!("Started server on port {}", port);
+        println!("Started server on port {port}");
         ServerInfo { process: c, port }
     }
 
diff --git a/examples/sys/basic/3rdparty/Cargo.Bazel.lock b/examples/sys/basic/3rdparty/Cargo.Bazel.lock
index 39f301a..da60a81 100644
--- a/examples/sys/basic/3rdparty/Cargo.Bazel.lock
+++ b/examples/sys/basic/3rdparty/Cargo.Bazel.lock
@@ -25,9 +25,9 @@
 
 [[package]]
 name = "cc"
-version = "1.0.73"
+version = "1.0.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
 
 [[package]]
 name = "direct-cargo-bazel-deps"
@@ -38,12 +38,12 @@
 
 [[package]]
 name = "libc"
-version = "0.2.126"
+version = "0.2.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.bazel b/examples/sys/basic/3rdparty/crates/BUILD.bazel
index f78524b..b0218c8 100644
--- a/examples/sys/basic/3rdparty/crates/BUILD.bazel
+++ b/examples/sys/basic/3rdparty/crates/BUILD.bazel
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/basic/3rdparty:crates_vendor
+#     bazel run @//sys/basic/3rdparty:crates_vendor
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -11,11 +11,9 @@
 exports_files(
     [
         "cargo-bazel.json",
-        "defs.bzl",
         "crates.bzl",
-    ] + glob([
-        "*.bazel",
-    ]),
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
 )
 
 filegroup(
@@ -32,10 +30,3 @@
     actual = "@basic_sys__bzip2-0.3.3//:bzip2",
     tags = ["manual"],
 )
-
-# Binaries
-alias(
-    name = "cc__gcc-shim",
-    actual = "@basic_sys__cc-1.0.73//:gcc-shim__bin",
-    tags = ["manual"],
-)
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.bzip2-0.3.3.bazel b/examples/sys/basic/3rdparty/crates/BUILD.bzip2-0.3.3.bazel
index e790651..02febbb 100644
--- a/examples/sys/basic/3rdparty/crates/BUILD.bzip2-0.3.3.bazel
+++ b/examples/sys/basic/3rdparty/crates/BUILD.bzip2-0.3.3.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/basic/3rdparty:crates_vendor
+#     bazel run @//sys/basic/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,55 +19,20 @@
 
 rust_library(
     name = "bzip2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,10 +41,7 @@
     ],
     version = "0.3.3",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@basic_sys__bzip2-sys-0.1.11-1.0.8//:bzip2_sys",
-            "@basic_sys__libc-0.2.126//:libc",
-        ],
-    }),
+        "@basic_sys__bzip2-sys-0.1.11-1.0.8//:bzip2_sys",
+        "@basic_sys__libc-0.2.137//:libc",
+    ],
 )
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.bzip2-sys-0.1.11+1.0.8.bazel b/examples/sys/basic/3rdparty/crates/BUILD.bzip2-sys-0.1.11+1.0.8.bazel
index 34b0c06..81b2f05 100644
--- a/examples/sys/basic/3rdparty/crates/BUILD.bzip2-sys-0.1.11+1.0.8.bazel
+++ b/examples/sys/basic/3rdparty/crates/BUILD.bzip2-sys-0.1.11+1.0.8.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/basic/3rdparty:crates_vendor
+#     bazel run @//sys/basic/3rdparty:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
 load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
@@ -30,55 +20,20 @@
 
 rust_library(
     name = "bzip2_sys",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -87,60 +42,29 @@
     ],
     version = "0.1.11+1.0.8",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@basic_sys__bzip2-sys-0.1.11-1.0.8//:build_script_build",
-            "@basic_sys__libc-0.2.126//:libc",
-        ],
-    }),
+        "@basic_sys__bzip2-sys-0.1.11-1.0.8//:build_script_build",
+        "@basic_sys__libc-0.2.137//:libc",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "bzip2-sys_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
     links = "bzip2",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
@@ -149,30 +73,16 @@
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.1.11+1.0.8",
     visibility = ["//visibility:private"],
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@basic_sys__cc-1.0.73//:cc",
-            "@basic_sys__pkg-config-0.3.25//:pkg_config",
-        ],
-    }),
+        "@basic_sys__cc-1.0.77//:cc",
+        "@basic_sys__pkg-config-0.3.26//:pkg_config",
+    ],
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "bzip2-sys_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.cc-1.0.73.bazel b/examples/sys/basic/3rdparty/crates/BUILD.cc-1.0.73.bazel
deleted file mode 100644
index 94dad1f..0000000
--- a/examples/sys/basic/3rdparty/crates/BUILD.cc-1.0.73.bazel
+++ /dev/null
@@ -1,157 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/basic/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "cc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.73",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-rust_binary(
-    name = "gcc-shim__bin",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/bin/gcc-shim.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.73",
-    deps = [
-        ":cc",
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.cc-1.0.77.bazel b/examples/sys/basic/3rdparty/crates/BUILD.cc-1.0.77.bazel
new file mode 100644
index 0000000..e46e1a4
--- /dev/null
+++ b/examples/sys/basic/3rdparty/crates/BUILD.cc-1.0.77.bazel
@@ -0,0 +1,43 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/basic/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "cc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.77",
+)
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.libc-0.2.126.bazel b/examples/sys/basic/3rdparty/crates/BUILD.libc-0.2.126.bazel
deleted file mode 100644
index 84344d1..0000000
--- a/examples/sys/basic/3rdparty/crates/BUILD.libc-0.2.126.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/basic/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.126",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.libc-0.2.137.bazel b/examples/sys/basic/3rdparty/crates/BUILD.libc-0.2.137.bazel
new file mode 100644
index 0000000..f2d0941
--- /dev/null
+++ b/examples/sys/basic/3rdparty/crates/BUILD.libc-0.2.137.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/basic/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.137",
+)
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel b/examples/sys/basic/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
deleted file mode 100644
index cb28873..0000000
--- a/examples/sys/basic/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/basic/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "pkg_config",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.25",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/sys/basic/3rdparty/crates/BUILD.pkg-config-0.3.26.bazel b/examples/sys/basic/3rdparty/crates/BUILD.pkg-config-0.3.26.bazel
new file mode 100644
index 0000000..b63cb49
--- /dev/null
+++ b/examples/sys/basic/3rdparty/crates/BUILD.pkg-config-0.3.26.bazel
@@ -0,0 +1,43 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/basic/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "pkg_config",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.26",
+)
diff --git a/examples/sys/basic/3rdparty/crates/defs.bzl b/examples/sys/basic/3rdparty/crates/defs.bzl
index 3f110a1..985b841 100644
--- a/examples/sys/basic/3rdparty/crates/defs.bzl
+++ b/examples/sys/basic/3rdparty/crates/defs.bzl
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/basic/3rdparty:crates_vendor
+#     bazel run @//sys/basic/3rdparty:crates_vendor
 ###############################################################################
 """
 # `crates_repository` API
@@ -37,7 +37,7 @@
         # name of the workspace this file is defined in.
         "workspace_member_package": {
 
-            # Not all dependnecies are supported for all platforms.
+            # Not all dependencies are supported for all platforms.
             # the condition key is the condition required to be true
             # on the host platform.
             "condition": {
@@ -153,7 +153,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -222,7 +222,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -382,30 +382,30 @@
 
     maybe(
         http_archive,
-        name = "basic_sys__cc-1.0.73",
-        sha256 = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11",
+        name = "basic_sys__cc-1.0.77",
+        sha256 = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cc/1.0.73/download"],
-        strip_prefix = "cc-1.0.73",
-        build_file = Label("@examples//sys/basic/3rdparty/crates:BUILD.cc-1.0.73.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cc/1.0.77/download"],
+        strip_prefix = "cc-1.0.77",
+        build_file = Label("@examples//sys/basic/3rdparty/crates:BUILD.cc-1.0.77.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "basic_sys__libc-0.2.126",
-        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+        name = "basic_sys__libc-0.2.137",
+        sha256 = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
-        strip_prefix = "libc-0.2.126",
-        build_file = Label("@examples//sys/basic/3rdparty/crates:BUILD.libc-0.2.126.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.137/download"],
+        strip_prefix = "libc-0.2.137",
+        build_file = Label("@examples//sys/basic/3rdparty/crates:BUILD.libc-0.2.137.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "basic_sys__pkg-config-0.3.25",
-        sha256 = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae",
+        name = "basic_sys__pkg-config-0.3.26",
+        sha256 = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.25/download"],
-        strip_prefix = "pkg-config-0.3.25",
-        build_file = Label("@examples//sys/basic/3rdparty/crates:BUILD.pkg-config-0.3.25.bazel"),
+        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.26/download"],
+        strip_prefix = "pkg-config-0.3.26",
+        build_file = Label("@examples//sys/basic/3rdparty/crates:BUILD.pkg-config-0.3.26.bazel"),
     )
diff --git a/examples/sys/basic/BUILD.bazel b/examples/sys/basic/BUILD.bazel
index 8971c66..3c0f02f 100644
--- a/examples/sys/basic/BUILD.bazel
+++ b/examples/sys/basic/BUILD.bazel
@@ -20,7 +20,7 @@
     name = "hello_sys",
     srcs = ["src/main.rs"],
     edition = "2018",
-    # Note the `cargo-raze` dependencies here need to have been loaded
+    # Note the `crate_unvierse` dependencies here need to have been loaded
     # in the WORKSPACE file. See `//sys:sys_deps.bzl` for rmore details.
     deps = ["//sys/basic/3rdparty/crates:bzip2"],
 )
diff --git a/examples/sys/complex/3rdparty/Cargo.Bazel.lock b/examples/sys/complex/3rdparty/Cargo.Bazel.lock
index e8bdcd0..0bd8d49 100644
--- a/examples/sys/complex/3rdparty/Cargo.Bazel.lock
+++ b/examples/sys/complex/3rdparty/Cargo.Bazel.lock
@@ -10,9 +10,9 @@
 
 [[package]]
 name = "cc"
-version = "1.0.73"
+version = "1.0.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
 dependencies = [
  "jobserver",
 ]
@@ -32,11 +32,10 @@
 
 [[package]]
 name = "form_urlencoded"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
 dependencies = [
- "matches",
  "percent-encoding",
 ]
 
@@ -55,29 +54,28 @@
 
 [[package]]
 name = "idna"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "jobserver"
-version = "0.1.24"
+version = "0.1.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
+checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.126"
+version = "0.2.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
 
 [[package]]
 name = "libgit2-sys"
@@ -113,22 +111,16 @@
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
-[[package]]
 name = "percent-encoding"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
 
 [[package]]
 name = "tinyvec"
@@ -153,22 +145,21 @@
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.21"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "url"
-version = "2.2.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
 dependencies = [
  "form_urlencoded",
  "idna",
- "matches",
  "percent-encoding",
 ]
 
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.bazel b/examples/sys/complex/3rdparty/crates/BUILD.bazel
index 85dc3b7..f2e83db 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.bazel
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 package(default_visibility = ["//visibility:public"])
@@ -11,11 +11,9 @@
 exports_files(
     [
         "cargo-bazel.json",
-        "defs.bzl",
         "crates.bzl",
-    ] + glob([
-        "*.bazel",
-    ]),
+        "defs.bzl",
+    ] + glob(["*.bazel"]),
 )
 
 filegroup(
@@ -32,10 +30,3 @@
     actual = "@complex_sys__git2-0.14.4//:git2",
     tags = ["manual"],
 )
-
-# Binaries
-alias(
-    name = "cc__gcc-shim",
-    actual = "@complex_sys__cc-1.0.73//:gcc-shim__bin",
-    tags = ["manual"],
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.bitflags-1.3.2.bazel b/examples/sys/complex/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
index 2315084..8f61f85 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,56 +19,21 @@
 
 rust_library(
     name = "bitflags",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-    ],
+    ),
+    crate_features = ["default"],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,9 +41,4 @@
         "norustfmt",
     ],
     version = "1.3.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.cc-1.0.73.bazel b/examples/sys/complex/3rdparty/crates/BUILD.cc-1.0.73.bazel
deleted file mode 100644
index 02c3dd8..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.cc-1.0.73.bazel
+++ /dev/null
@@ -1,163 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "cc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "jobserver",
-        "parallel",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.73",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__jobserver-0.1.24//:jobserver",
-        ],
-    }),
-)
-
-rust_binary(
-    name = "gcc-shim__bin",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "jobserver",
-        "parallel",
-    ],
-    crate_root = "src/bin/gcc-shim.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.73",
-    deps = [
-        ":cc",
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__jobserver-0.1.24//:jobserver",
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.cc-1.0.77.bazel b/examples/sys/complex/3rdparty/crates/BUILD.cc-1.0.77.bazel
new file mode 100644
index 0000000..928109c
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.cc-1.0.77.bazel
@@ -0,0 +1,50 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "cc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "jobserver",
+        "parallel",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.77",
+    deps = [
+        "@complex_sys__jobserver-0.1.25//:jobserver",
+    ],
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel b/examples/sys/complex/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
index 1c475ad..92adbcb 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,55 +19,20 @@
 
 rust_library(
     name = "cfg_if",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,9 +40,4 @@
         "norustfmt",
     ],
     version = "1.0.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel b/examples/sys/complex/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel
deleted file mode 100644
index 25bbf71..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "form_urlencoded",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "1.0.1",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__matches-0.1.9//:matches",
-            "@complex_sys__percent-encoding-2.1.0//:percent_encoding",
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.form_urlencoded-1.1.0.bazel b/examples/sys/complex/3rdparty/crates/BUILD.form_urlencoded-1.1.0.bazel
new file mode 100644
index 0000000..c9e199e
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.form_urlencoded-1.1.0.bazel
@@ -0,0 +1,46 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "form_urlencoded",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+    deps = [
+        "@complex_sys__percent-encoding-2.2.0//:percent_encoding",
+    ],
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.git2-0.14.4.bazel b/examples/sys/complex/3rdparty/crates/BUILD.git2-0.14.4.bazel
index 8bddd3b..034e1d5 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.git2-0.14.4.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.git2-0.14.4.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,55 +19,20 @@
 
 rust_library(
     name = "git2",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,13 +41,10 @@
     ],
     version = "0.14.4",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__bitflags-1.3.2//:bitflags",
-            "@complex_sys__libc-0.2.126//:libc",
-            "@complex_sys__libgit2-sys-0.13.4-1.4.2//:libgit2_sys",
-            "@complex_sys__log-0.4.17//:log",
-            "@complex_sys__url-2.2.2//:url",
-        ],
-    }),
+        "@complex_sys__bitflags-1.3.2//:bitflags",
+        "@complex_sys__libc-0.2.137//:libc",
+        "@complex_sys__libgit2-sys-0.13.4-1.4.2//:libgit2_sys",
+        "@complex_sys__log-0.4.17//:log",
+        "@complex_sys__url-2.3.1//:url",
+    ],
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.idna-0.2.3.bazel b/examples/sys/complex/3rdparty/crates/BUILD.idna-0.2.3.bazel
deleted file mode 100644
index b117628..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.idna-0.2.3.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "idna",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.3",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__matches-0.1.9//:matches",
-            "@complex_sys__unicode-bidi-0.3.8//:unicode_bidi",
-            "@complex_sys__unicode-normalization-0.1.21//:unicode_normalization",
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.idna-0.3.0.bazel b/examples/sys/complex/3rdparty/crates/BUILD.idna-0.3.0.bazel
new file mode 100644
index 0000000..c037254
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.idna-0.3.0.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "idna",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.0",
+    deps = [
+        "@complex_sys__unicode-bidi-0.3.8//:unicode_bidi",
+        "@complex_sys__unicode-normalization-0.1.22//:unicode_normalization",
+    ],
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.jobserver-0.1.24.bazel b/examples/sys/complex/3rdparty/crates/BUILD.jobserver-0.1.24.bazel
deleted file mode 100644
index 425194f..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.jobserver-0.1.24.bazel
+++ /dev/null
@@ -1,117 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "jobserver",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.24",
-    deps = [
-    ] + select_with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:armv7-linux-androideabi",
-            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-        ): [
-            # Target Deps
-            "@complex_sys__libc-0.2.126//:libc",
-
-            # Common Deps
-        ],
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.jobserver-0.1.25.bazel b/examples/sys/complex/3rdparty/crates/BUILD.jobserver-0.1.25.bazel
new file mode 100644
index 0000000..d1b7a2d
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.jobserver-0.1.25.bazel
@@ -0,0 +1,103 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "jobserver",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.25",
+    deps = select({
+        "@rules_rust//rust/platform:aarch64-apple-darwin": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-linux-android": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-linux-androideabi": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-apple-darwin": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-linux-android": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-freebsd": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-darwin": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-apple-ios": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-linux-android": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
+            "@complex_sys__libc-0.2.137//:libc",  # cfg(unix)
+        ],
+        "//conditions:default": [],
+    }),
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.libc-0.2.126.bazel b/examples/sys/complex/3rdparty/crates/BUILD.libc-0.2.126.bazel
deleted file mode 100644
index 8df7c2b..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.libc-0.2.126.bazel
+++ /dev/null
@@ -1,178 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "libc",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.2.126",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__libc-0.2.126//:build_script_build",
-        ],
-    }),
-)
-
-cargo_build_script(
-    # See comment associated with alias. Do not change this name
-    name = "libc_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_name = "build_script_build",
-    crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    version = "0.2.126",
-    visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
-
-alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
-    name = "build_script_build",
-    actual = "libc_build_script",
-    tags = [
-        "manual",
-    ],
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.libc-0.2.137.bazel b/examples/sys/complex/3rdparty/crates/BUILD.libc-0.2.137.bazel
new file mode 100644
index 0000000..3da6344
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.libc-0.2.137.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.137",
+    deps = [
+        "@complex_sys__libc-0.2.137//:build_script_build",
+    ],
+)
+
+cargo_build_script(
+    name = "libc_build_script",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.137",
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = ["manual"],
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.libgit2-sys-0.13.4+1.4.2.bazel b/examples/sys/complex/3rdparty/crates/BUILD.libgit2-sys-0.13.4+1.4.2.bazel
index 0cbe928..1efb955 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.libgit2-sys-0.13.4+1.4.2.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.libgit2-sys-0.13.4+1.4.2.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,55 +19,20 @@
 
 rust_library(
     name = "libgit2_sys",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -83,11 +41,8 @@
     ],
     version = "0.13.4+1.4.2",
     deps = [
+        "@complex_sys__libc-0.2.137//:libc",
+        "@complex_sys__libz-sys-1.1.8//:libz_sys",
         "@libgit2",
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__libc-0.2.126//:libc",
-            "@complex_sys__libz-sys-1.1.8//:libz_sys",
-        ],
-    }),
+    ],
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel b/examples/sys/complex/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
index 0a01278..4f6713b 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,56 +19,21 @@
 
 rust_library(
     name = "libz_sys",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "libc",
-    ],
+    ),
+    crate_features = ["libc"],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -84,10 +42,7 @@
     ],
     version = "1.1.8",
     deps = [
+        "@complex_sys__libc-0.2.137//:libc",
         "@zlib",
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__libc-0.2.126//:libc",
-        ],
-    }),
+    ],
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.log-0.4.17.bazel b/examples/sys/complex/3rdparty/crates/BUILD.log-0.4.17.bazel
index 2e38426..da3e738 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.log-0.4.17.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.log-0.4.17.bazel
@@ -3,20 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-load(
-    "@rules_rust//cargo:defs.bzl",
-    "cargo_build_script",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
 load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
@@ -30,55 +20,20 @@
 
 rust_library(
     name = "log",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -87,59 +42,28 @@
     ],
     version = "0.4.17",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__cfg-if-1.0.0//:cfg_if",
-            "@complex_sys__log-0.4.17//:build_script_build",
-        ],
-    }),
+        "@complex_sys__cfg-if-1.0.0//:cfg_if",
+        "@complex_sys__log-0.4.17//:build_script_build",
+    ],
 )
 
 cargo_build_script(
-    # See comment associated with alias. Do not change this name
     name = "log_build_script",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    build_script_env = {
-    },
-    compile_data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    srcs = glob(["**/*.rs"]),
     crate_name = "build_script_build",
     crate_root = "build.rs",
-    data = glob(["**"]) + select_with_or({
-        "//conditions:default": [
+    data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
         ],
-    }),
+    ),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
         "--cap-lints=allow",
     ],
     tags = [
@@ -148,28 +72,12 @@
         "noclippy",
         "norustfmt",
     ],
-    tools = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     version = "0.4.17",
     visibility = ["//visibility:private"],
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
 
 alias(
-    # Because `cargo_build_script` does some invisible target name mutating to
-    # determine the package and crate name for a build script, the Bazel
-    # target namename of any build script cannot be the Cargo canonical name
-    # of `build_script_build` without losing out on having certain Cargo
-    # environment variables set.
     name = "build_script_build",
     actual = "log_build_script",
-    tags = [
-        "manual",
-    ],
+    tags = ["manual"],
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.matches-0.1.9.bazel b/examples/sys/complex/3rdparty/crates/BUILD.matches-0.1.9.bazel
deleted file mode 100644
index 9faefd4..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.matches-0.1.9.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT
-# ])
-
-rust_library(
-    name = "matches",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.9",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel b/examples/sys/complex/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel
deleted file mode 100644
index d0e033c..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "percent_encoding",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.percent-encoding-2.2.0.bazel b/examples/sys/complex/3rdparty/crates/BUILD.percent-encoding-2.2.0.bazel
new file mode 100644
index 0000000..2ea8915
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.percent-encoding-2.2.0.bazel
@@ -0,0 +1,47 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "percent_encoding",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "alloc",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.2.0",
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel b/examples/sys/complex/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
deleted file mode 100644
index e022ea7..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT OR Apache-2.0
-# ])
-
-rust_library(
-    name = "pkg_config",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.3.25",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.pkg-config-0.3.26.bazel b/examples/sys/complex/3rdparty/crates/BUILD.pkg-config-0.3.26.bazel
new file mode 100644
index 0000000..3770ef8
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.pkg-config-0.3.26.bazel
@@ -0,0 +1,43 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "pkg_config",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_root = "src/lib.rs",
+    edition = "2015",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.26",
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel b/examples/sys/complex/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
index 3c99ffc..c169d21 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,58 +19,25 @@
 
 rust_library(
     name = "tinyvec",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "alloc",
         "default",
         "tinyvec_macros",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -86,9 +46,6 @@
     ],
     version = "1.6.0",
     deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__tinyvec_macros-0.1.0//:tinyvec_macros",
-        ],
-    }),
+        "@complex_sys__tinyvec_macros-0.1.0//:tinyvec_macros",
+    ],
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel b/examples/sys/complex/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
index e7cf813..c423d1b 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,55 +19,20 @@
 
 rust_library(
     name = "tinyvec_macros",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,9 +40,4 @@
         "norustfmt",
     ],
     version = "0.1.0",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel b/examples/sys/complex/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
index 94c2631..9fee84e 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,58 +19,25 @@
 
 rust_library(
     name = "unicode_bidi",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
+    ),
     crate_features = [
         "default",
         "hardcoded-data",
         "std",
     ],
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -85,9 +45,4 @@
         "norustfmt",
     ],
     version = "0.3.8",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel b/examples/sys/complex/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel
deleted file mode 100644
index b57cb1f..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "unicode_normalization",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "0.1.21",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__tinyvec-1.6.0//:tinyvec",
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.unicode-normalization-0.1.22.bazel b/examples/sys/complex/3rdparty/crates/BUILD.unicode-normalization-0.1.22.bazel
new file mode 100644
index 0000000..989a04d
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.unicode-normalization-0.1.22.bazel
@@ -0,0 +1,50 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_normalization",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.22",
+    deps = [
+        "@complex_sys__tinyvec-1.6.0//:tinyvec",
+    ],
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.url-2.2.2.bazel b/examples/sys/complex/3rdparty/crates/BUILD.url-2.2.2.bazel
deleted file mode 100644
index 5fb550c..0000000
--- a/examples/sys/complex/3rdparty/crates/BUILD.url-2.2.2.bazel
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# @generated
-# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
-# regenerate this file, run the following:
-#
-#     bazel run //sys/complex/3rdparty:crates_vendor
-###############################################################################
-
-load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_library",
-)
-
-package(default_visibility = ["//visibility:public"])
-
-# licenses([
-#     "TODO",  # MIT/Apache-2.0
-# ])
-
-rust_library(
-    name = "url",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
-    compile_data = glob(
-        include = ["**"],
-        exclude = [
-            "BUILD",
-            "BUILD.bazel",
-            "WORKSPACE",
-            "WORKSPACE.bazel",
-        ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    edition = "2018",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-bazel",
-        "manual",
-        "noclippy",
-        "norustfmt",
-    ],
-    version = "2.2.2",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-            "@complex_sys__form_urlencoded-1.0.1//:form_urlencoded",
-            "@complex_sys__idna-0.2.3//:idna",
-            "@complex_sys__matches-0.1.9//:matches",
-            "@complex_sys__percent-encoding-2.1.0//:percent_encoding",
-        ],
-    }),
-)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.url-2.3.1.bazel b/examples/sys/complex/3rdparty/crates/BUILD.url-2.3.1.bazel
new file mode 100644
index 0000000..d936fc0
--- /dev/null
+++ b/examples/sys/complex/3rdparty/crates/BUILD.url-2.3.1.bazel
@@ -0,0 +1,49 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run @//sys/complex/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "url",
+    srcs = glob(["**/*.rs"]),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "**/* *",
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ),
+    crate_features = ["default"],
+    crate_root = "src/lib.rs",
+    edition = "2018",
+    rustc_flags = ["--cap-lints=allow"],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.3.1",
+    deps = [
+        "@complex_sys__form_urlencoded-1.1.0//:form_urlencoded",
+        "@complex_sys__idna-0.3.0//:idna",
+        "@complex_sys__percent-encoding-2.2.0//:percent_encoding",
+    ],
+)
diff --git a/examples/sys/complex/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel b/examples/sys/complex/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
index 795f202..4ecfe9d 100644
--- a/examples/sys/complex/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
+++ b/examples/sys/complex/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
@@ -3,17 +3,10 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 
 load(
-    "@bazel_skylib//lib:selects.bzl",
-    "selects",
-)
-
-# buildifier: disable=bzl-visibility
-load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
-load(
     "@rules_rust//rust:defs.bzl",
     "rust_library",
 )
@@ -26,55 +19,20 @@
 
 rust_library(
     name = "vcpkg",
-    srcs = glob(
-        include = [
-            "**/*.rs",
-        ],
-        exclude = [
-        ],
-    ),
-    aliases = selects.with_or({
-        "//conditions:default": {
-        },
-    }),
+    srcs = glob(["**/*.rs"]),
     compile_data = glob(
         include = ["**"],
         exclude = [
+            "**/* *",
             "BUILD",
             "BUILD.bazel",
             "WORKSPACE",
             "WORKSPACE.bazel",
         ],
-    ) + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    crate_features = [
-    ],
+    ),
     crate_root = "src/lib.rs",
-    data = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
     edition = "2015",
-    proc_macro_deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_env = {
-    },
-    rustc_env_files = select_with_or({
-        "//conditions:default": [
-        ],
-    }),
-    rustc_flags = [
-        # In most cases, warnings in 3rd party crates are not interesting as
-        # they're out of the control of consumers. The flag here silences
-        # warnings. For more details see:
-        # https://doc.rust-lang.org/rustc/lints/levels.html
-        "--cap-lints=allow",
-    ],
+    rustc_flags = ["--cap-lints=allow"],
     tags = [
         "cargo-bazel",
         "manual",
@@ -82,9 +40,4 @@
         "norustfmt",
     ],
     version = "0.2.15",
-    deps = [
-    ] + select_with_or({
-        "//conditions:default": [
-        ],
-    }),
 )
diff --git a/examples/sys/complex/3rdparty/crates/defs.bzl b/examples/sys/complex/3rdparty/crates/defs.bzl
index 5fc3e58..c165155 100644
--- a/examples/sys/complex/3rdparty/crates/defs.bzl
+++ b/examples/sys/complex/3rdparty/crates/defs.bzl
@@ -3,7 +3,7 @@
 # DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
 # regenerate this file, run the following:
 #
-#     bazel run //sys/complex/3rdparty:crates_vendor
+#     bazel run @//sys/complex/3rdparty:crates_vendor
 ###############################################################################
 """
 # `crates_repository` API
@@ -37,7 +37,7 @@
         # name of the workspace this file is defined in.
         "workspace_member_package": {
 
-            # Not all dependnecies are supported for all platforms.
+            # Not all dependencies are supported for all platforms.
             # the condition key is the condition required to be true
             # on the host platform.
             "condition": {
@@ -153,7 +153,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -222,7 +222,7 @@
     Args:
         normal (bool, optional): If True, normal dependencies are included in the
             output list.
-        normal_dev (bool, optional): If True, normla dev dependencies will be
+        normal_dev (bool, optional): If True, normal dev dependencies will be
             included in the output list..
         proc_macro (bool, optional): If True, proc_macro dependencies are included
             in the output list.
@@ -373,12 +373,12 @@
 
     maybe(
         http_archive,
-        name = "complex_sys__cc-1.0.73",
-        sha256 = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11",
+        name = "complex_sys__cc-1.0.77",
+        sha256 = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/cc/1.0.73/download"],
-        strip_prefix = "cc-1.0.73",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.cc-1.0.73.bazel"),
+        urls = ["https://crates.io/api/v1/crates/cc/1.0.77/download"],
+        strip_prefix = "cc-1.0.77",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.cc-1.0.77.bazel"),
     )
 
     maybe(
@@ -393,12 +393,12 @@
 
     maybe(
         http_archive,
-        name = "complex_sys__form_urlencoded-1.0.1",
-        sha256 = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191",
+        name = "complex_sys__form_urlencoded-1.1.0",
+        sha256 = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download"],
-        strip_prefix = "form_urlencoded-1.0.1",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.form_urlencoded-1.0.1.bazel"),
+        urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.1.0/download"],
+        strip_prefix = "form_urlencoded-1.1.0",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.form_urlencoded-1.1.0.bazel"),
     )
 
     maybe(
@@ -413,32 +413,32 @@
 
     maybe(
         http_archive,
-        name = "complex_sys__idna-0.2.3",
-        sha256 = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8",
+        name = "complex_sys__idna-0.3.0",
+        sha256 = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/idna/0.2.3/download"],
-        strip_prefix = "idna-0.2.3",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.idna-0.2.3.bazel"),
+        urls = ["https://crates.io/api/v1/crates/idna/0.3.0/download"],
+        strip_prefix = "idna-0.3.0",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.idna-0.3.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "complex_sys__jobserver-0.1.24",
-        sha256 = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa",
+        name = "complex_sys__jobserver-0.1.25",
+        sha256 = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/jobserver/0.1.24/download"],
-        strip_prefix = "jobserver-0.1.24",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.jobserver-0.1.24.bazel"),
+        urls = ["https://crates.io/api/v1/crates/jobserver/0.1.25/download"],
+        strip_prefix = "jobserver-0.1.25",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.jobserver-0.1.25.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "complex_sys__libc-0.2.126",
-        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+        name = "complex_sys__libc-0.2.137",
+        sha256 = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
-        strip_prefix = "libc-0.2.126",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.libc-0.2.126.bazel"),
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.137/download"],
+        strip_prefix = "libc-0.2.137",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.libc-0.2.137.bazel"),
     )
 
     maybe(
@@ -473,32 +473,22 @@
 
     maybe(
         http_archive,
-        name = "complex_sys__matches-0.1.9",
-        sha256 = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f",
+        name = "complex_sys__percent-encoding-2.2.0",
+        sha256 = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/matches/0.1.9/download"],
-        strip_prefix = "matches-0.1.9",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.matches-0.1.9.bazel"),
+        urls = ["https://crates.io/api/v1/crates/percent-encoding/2.2.0/download"],
+        strip_prefix = "percent-encoding-2.2.0",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.percent-encoding-2.2.0.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "complex_sys__percent-encoding-2.1.0",
-        sha256 = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e",
+        name = "complex_sys__pkg-config-0.3.26",
+        sha256 = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/percent-encoding/2.1.0/download"],
-        strip_prefix = "percent-encoding-2.1.0",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.percent-encoding-2.1.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "complex_sys__pkg-config-0.3.25",
-        sha256 = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae",
-        type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.25/download"],
-        strip_prefix = "pkg-config-0.3.25",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.pkg-config-0.3.25.bazel"),
+        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.26/download"],
+        strip_prefix = "pkg-config-0.3.26",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.pkg-config-0.3.26.bazel"),
     )
 
     maybe(
@@ -533,22 +523,22 @@
 
     maybe(
         http_archive,
-        name = "complex_sys__unicode-normalization-0.1.21",
-        sha256 = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6",
+        name = "complex_sys__unicode-normalization-0.1.22",
+        sha256 = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.21/download"],
-        strip_prefix = "unicode-normalization-0.1.21",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.unicode-normalization-0.1.21.bazel"),
+        urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.22/download"],
+        strip_prefix = "unicode-normalization-0.1.22",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.unicode-normalization-0.1.22.bazel"),
     )
 
     maybe(
         http_archive,
-        name = "complex_sys__url-2.2.2",
-        sha256 = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c",
+        name = "complex_sys__url-2.3.1",
+        sha256 = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643",
         type = "tar.gz",
-        urls = ["https://crates.io/api/v1/crates/url/2.2.2/download"],
-        strip_prefix = "url-2.2.2",
-        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.url-2.2.2.bazel"),
+        urls = ["https://crates.io/api/v1/crates/url/2.3.1/download"],
+        strip_prefix = "url-2.3.1",
+        build_file = Label("@examples//sys/complex/3rdparty/crates:BUILD.url-2.3.1.bazel"),
     )
 
     maybe(
diff --git a/examples/zig_cross_compiling/.bazelrc b/examples/zig_cross_compiling/.bazelrc
new file mode 100644
index 0000000..d973fe2
--- /dev/null
+++ b/examples/zig_cross_compiling/.bazelrc
@@ -0,0 +1,6 @@
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
+build --incompatible_enable_cc_toolchain_resolution
diff --git a/examples/zig_cross_compiling/.gitignore b/examples/zig_cross_compiling/.gitignore
new file mode 100644
index 0000000..a6ef824
--- /dev/null
+++ b/examples/zig_cross_compiling/.gitignore
@@ -0,0 +1 @@
+/bazel-*
diff --git a/examples/zig_cross_compiling/BUILD.bazel b/examples/zig_cross_compiling/BUILD.bazel
new file mode 100644
index 0000000..4adecfe
--- /dev/null
+++ b/examples/zig_cross_compiling/BUILD.bazel
@@ -0,0 +1,37 @@
+load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup")
+load("@crate_index//:defs.bzl", "aliases", "all_crate_deps")
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_binary")
+
+rust_binary(
+    name = "uses_ring",
+    srcs = ["src/main.rs"],
+    aliases = aliases(),
+    # We don't care about building this for our own platform, this just exists for the transition
+    tags = ["manual"],
+    deps = all_crate_deps(normal = True) + [":check_merged_flags"],
+)
+
+cargo_build_script(
+    name = "check_merged_flags",
+    srcs = ["src/check_merged_flags.rs"],
+    build_script_env = {
+        "CFLAGS": "cbeep",
+        "CXXFLAGS": "cxxbeep",
+        "LDFLAGS": "ldbeep",
+    },
+)
+
+platform(
+    name = "aarch64_linux",
+    constraint_values = [
+        "@platforms//os:linux",
+        "@platforms//cpu:aarch64",
+    ],
+)
+
+platform_transition_filegroup(
+    name = "uses_ring_arm",
+    srcs = [":uses_ring"],
+    target_platform = "aarch64_linux",
+)
diff --git a/examples/zig_cross_compiling/Cargo.bazel.lock b/examples/zig_cross_compiling/Cargo.bazel.lock
new file mode 100644
index 0000000..d27d82d
--- /dev/null
+++ b/examples/zig_cross_compiling/Cargo.bazel.lock
@@ -0,0 +1,206 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "bumpalo"
+version = "3.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+[[package]]
+name = "cc"
+version = "1.0.76"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "direct-cargo-bazel-deps"
+version = "0.0.1"
+dependencies = [
+ "ring",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.137"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "syn"
+version = "1.0.103"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/examples/zig_cross_compiling/WORKSPACE.bazel b/examples/zig_cross_compiling/WORKSPACE.bazel
new file mode 100644
index 0000000..0bea203
--- /dev/null
+++ b/examples/zig_cross_compiling/WORKSPACE.bazel
@@ -0,0 +1,83 @@
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+BAZEL_ZIG_CC_VERSION = "v0.9.2"
+
+http_archive(
+    name = "bazel-zig-cc",
+    sha256 = "73afa7e1af49e3dbfa1bae9362438cdc51cb177c359a6041a7a403011179d0b5",
+    strip_prefix = "bazel-zig-cc-{}".format(BAZEL_ZIG_CC_VERSION),
+    urls = ["https://git.sr.ht/~motiejus/bazel-zig-cc/archive/{}.tar.gz".format(BAZEL_ZIG_CC_VERSION)],
+)
+
+load("@bazel-zig-cc//toolchain:defs.bzl", zig_toolchains = "toolchains")
+
+zig_toolchains()
+
+register_toolchains(
+    "@zig_sdk//toolchain:linux_arm64_gnu.2.28",
+)
+
+local_repository(
+    name = "rules_rust",
+    path = "../..",
+)
+
+load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains", "rust_repository_set")
+
+rules_rust_dependencies()
+
+load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
+
+crate_universe_dependencies(bootstrap = True)
+
+rust_version = "1.70.0"
+
+rust_register_toolchains(
+    edition = "2021",
+    extra_target_triples = [],
+    versions = [rust_version],
+)
+
+rust_repository_set(
+    name = "macos_x86_64",
+    edition = "2021",
+    exec_triple = "x86_64-apple-darwin",
+    extra_target_triples = ["aarch64-unknown-linux-gnu"],
+    versions = [rust_version],
+)
+
+rust_repository_set(
+    name = "linux_x86_64",
+    edition = "2021",
+    exec_triple = "x86_64-unknown-linux-gnu",
+    extra_target_triples = ["aarch64-unknown-linux-gnu"],
+    versions = [rust_version],
+)
+
+load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository")
+
+crates_repository(
+    name = "crate_index",
+    cargo_lockfile = "//:Cargo.bazel.lock",
+    # `generator` is not necessary in official releases.
+    # See load satement for `cargo_bazel_bootstrap`.
+    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
+    packages = {
+        "ring": crate.spec(version = "0.16.20"),
+    },
+)
+
+load("@crate_index//:defs.bzl", "crate_repositories")
+
+crate_repositories()
+
+http_archive(
+    name = "aspect_bazel_lib",
+    sha256 = "3534a27621725fbbf1d3e53daa0c1dda055a2732d9031b8c579f917d7347b6c4",
+    strip_prefix = "bazel-lib-1.16.1",
+    url = "https://github.com/aspect-build/bazel-lib/archive/refs/tags/v1.16.1.tar.gz",
+)
+
+load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")
+
+aspect_bazel_lib_dependencies()
diff --git a/examples/zig_cross_compiling/src/check_merged_flags.rs b/examples/zig_cross_compiling/src/check_merged_flags.rs
new file mode 100644
index 0000000..7430b22
--- /dev/null
+++ b/examples/zig_cross_compiling/src/check_merged_flags.rs
@@ -0,0 +1,13 @@
+fn main() {
+    let cflags = std::env::var("CFLAGS").unwrap();
+    assert!(cflags.contains("-target aarch64-linux-gnu.2.28"), "Expected CFLAGS to contain `-target aarch64-linux-gnu.2.28` because of zig toolchain but was `{}`", cflags);
+    assert!(cflags.contains(" cbeep"), "Expected CFLAGS to contain ` cbeep` because of build_script_env but was `{}`", cflags);
+
+    let cxxflags = std::env::var("CXXFLAGS").unwrap();
+    assert!(cxxflags.contains("-target aarch64-linux-gnu.2.28"), "Expected CXXFLAGS to contain `-target aarch64-linux-gnu.2.28` because of zig toolchain but was `{}`", cxxflags);
+    assert!(cxxflags.contains(" cxxbeep"), "Expected CXXFLAGS to contain ` cxxbeep` because of build_script_env but was `{}`", cxxflags);
+
+    let ldflags = std::env::var("LDFLAGS").unwrap();
+    assert!(ldflags.contains("-target aarch64-linux-gnu.2.28"), "Expected LDFLAGS to contain `-target aarch64-linux-gnu.2.28` because of zig toolchain but was `{}`", ldflags);
+    assert!(ldflags.contains(" ldbeep"), "Expected LDFLAGS to contain ` ldbeep` because of build_script_env but was `{}`", ldflags);
+}
diff --git a/examples/zig_cross_compiling/src/main.rs b/examples/zig_cross_compiling/src/main.rs
new file mode 100644
index 0000000..c2873e8
--- /dev/null
+++ b/examples/zig_cross_compiling/src/main.rs
@@ -0,0 +1,3 @@
+fn main() {
+    println!("{:?}", ring::rand::SystemRandom::new());
+}