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")