Cleanup crate_universe dependency macros (#1460)

diff --git a/crate_universe/3rdparty/BUILD.bazel b/crate_universe/3rdparty/BUILD.bazel
index 26c6117..fc021f3 100644
--- a/crate_universe/3rdparty/BUILD.bazel
+++ b/crate_universe/3rdparty/BUILD.bazel
@@ -1,4 +1,5 @@
-load("//crate_universe:repositories.bzl", "crate_deps_target")
+load("//crate_universe/private:crate.bzl", "crate")
+load("//crate_universe/private:crates_vendor.bzl", "crates_vendor")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -7,7 +8,32 @@
     "cargo-bazel-lock.json",
 ])
 
-crate_deps_target()
+crates_vendor(
+    name = "crates_vendor",
+    annotations = {
+        "libgit2-sys": [crate.annotation(
+            gen_build_script = False,
+            deps = ["@libgit2"],
+        )],
+        "libz-sys": [crate.annotation(
+            gen_build_script = False,
+            deps = ["@zlib"],
+        )],
+    },
+    cargo_lockfile = "@rules_rust//crate_universe/3rdparty:Cargo.Bazel.lock",
+    manifests = [
+        "@rules_rust//crate_universe:Cargo.toml",
+        "@rules_rust//crate_universe/tools/cross_installer:Cargo.toml",
+        "@rules_rust//crate_universe/tools/urls_generator:Cargo.toml",
+    ],
+    mode = "remote",
+    # Short for 'crate universe index'. Keep this short to reduce the risk to
+    # bump into absolute path length issues on Windows. See:
+    # https://github.com/bazelbuild/rules_rust/issues/1120
+    repository_name = "cui",
+    tags = ["manual"],
+    vendor_path = "crates",
+)
 
 filegroup(
     name = "distro",
diff --git a/crate_universe/crates_deps.bzl b/crate_universe/crates_deps.bzl
deleted file mode 100644
index 1f5e495..0000000
--- a/crate_universe/crates_deps.bzl
+++ /dev/null
@@ -1,8 +0,0 @@
-"""Transitive dependencies of the `cargo-bazel` Rust target"""
-
-load("@cui//:defs.bzl", _repository_crate_repositories = "crate_repositories")
-load("//crate_universe:repositories.bzl", "USE_CRATES_REPOSITORY")
-
-def crate_repositories():
-    if USE_CRATES_REPOSITORY:
-        _repository_crate_repositories()
diff --git a/crate_universe/repositories.bzl b/crate_universe/repositories.bzl
index 00f743c..c06e06d 100644
--- a/crate_universe/repositories.bzl
+++ b/crate_universe/repositories.bzl
@@ -4,36 +4,9 @@
 load("//crate_universe:deps_bootstrap.bzl", "cargo_bazel_bootstrap")
 load("//crate_universe/3rdparty:third_party_deps.bzl", "third_party_deps")
 load("//crate_universe/3rdparty/crates:crates.bzl", _vendor_crate_repositories = "crate_repositories")
-load("//crate_universe/private:crate.bzl", "crate")
-load("//crate_universe/private:crates_repository.bzl", "crates_repository")
-load("//crate_universe/private:crates_vendor.bzl", "crates_vendor")
 load("//crate_universe/private:vendor_utils.bzl", "crates_vendor_deps")
 load("//crate_universe/tools/cross_installer:cross_installer_deps.bzl", "cross_installer_deps")
 
-USE_CRATES_REPOSITORY = False
-
-# Short for 'crate universe index'. Keep this short to reduce the risk to
-# bump into absolute path length issues on Windows. See:
-# https://github.com/bazelbuild/rules_rust/issues/1120
-_REPOSITORY_NAME = "cui"
-
-_ANNOTATIONS = {
-    "libgit2-sys": [crate.annotation(
-        gen_build_script = False,
-        deps = ["@libgit2"],
-    )],
-    "libz-sys": [crate.annotation(
-        gen_build_script = False,
-        deps = ["@zlib"],
-    )],
-}
-
-_MANIFESTS = [
-    "@rules_rust//crate_universe:Cargo.toml",
-    "@rules_rust//crate_universe/tools/cross_installer:Cargo.toml",
-    "@rules_rust//crate_universe/tools/urls_generator:Cargo.toml",
-]
-
 def crate_universe_dependencies(rust_version = rust_common.default_version, bootstrap = False):
     """Define dependencies of the `cargo-bazel` Rust target
 
@@ -43,33 +16,10 @@
     """
     third_party_deps()
 
-    cargo_bazel_bootstrap(rust_version = rust_version)
+    if bootstrap:
+        cargo_bazel_bootstrap(rust_version = rust_version)
 
-    if USE_CRATES_REPOSITORY:
-        crates_repository(
-            name = _REPOSITORY_NAME,
-            annotations = _ANNOTATIONS,
-            generator = "@cargo_bazel_bootstrap//:cargo-bazel" if bootstrap else None,
-            lockfile = "@rules_rust//crate_universe/3rdparty:cargo-bazel-lock.json",
-            cargo_lockfile = "@rules_rust//crate_universe/3rdparty:Cargo.Bazel.lock",
-            manifests = _MANIFESTS,
-            rust_version = rust_version,
-        )
-
-    else:
-        _vendor_crate_repositories()
+    _vendor_crate_repositories()
 
     crates_vendor_deps()
     cross_installer_deps()
-
-def crate_deps_target(name = "crates_vendor", vendor_path = "crates"):
-    crates_vendor(
-        name = name,
-        repository_name = _REPOSITORY_NAME,
-        annotations = _ANNOTATIONS,
-        manifests = _MANIFESTS,
-        vendor_path = vendor_path,
-        cargo_lockfile = "@rules_rust//crate_universe/3rdparty:Cargo.Bazel.lock",
-        mode = "remote",
-        tags = ["manual"],
-    )
diff --git a/examples/crate_universe/WORKSPACE.bazel b/examples/crate_universe/WORKSPACE.bazel
index 63fef39..5a23249 100644
--- a/examples/crate_universe/WORKSPACE.bazel
+++ b/examples/crate_universe/WORKSPACE.bazel
@@ -16,11 +16,7 @@
 
 load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
 
-crate_universe_dependencies()
-
-load("@rules_rust//crate_universe:crates_deps.bzl", "crate_repositories")
-
-crate_repositories()
+crate_universe_dependencies(bootstrap = True)
 
 load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository", "splicing_config")