1"""bazelbuild/rules_rust - bzlmod example""" 2 3module( 4 name = "hello_world_example", 5 version = "0.0.0", 6) 7 8bazel_dep(name = "platforms", version = "0.0.8") 9bazel_dep( 10 name = "bazel_skylib", 11 version = "1.5.0", 12) 13bazel_dep( 14 name = "rules_rust", 15 version = "0.0.0", 16) 17local_path_override( 18 module_name = "rules_rust", 19 path = "../../..", 20) 21 22# To do third party dependencies, you have multiple options: 23 24# Option 1: Fully transient (Cargo.toml / Cargo.lock as source of truth). 25crate = use_extension( 26 "@rules_rust//crate_universe:extension.bzl", 27 "crate", 28) 29crate.from_cargo( 30 name = "crates", 31 cargo_lockfile = "//third-party:Cargo.lock", 32 manifests = ["//third-party:Cargo.toml"], 33) 34use_repo(crate, "crates") 35crate.annotation( 36 additive_build_file = "//:anyhow.BUILD.bazel", 37 crate = "anyhow", 38 # Defined in additive_build_file. 39 data = [":cargo_toml"], 40 # Optional, you probably don't need this. Defaults to all from_cargo 41 # invocations in this module. 42 repositories = ["crates"], 43 # Optional, you probably don't need this, defaults to "*". 44 version = "*", 45) 46 47# Option 2: Vendored crates 48crate_repositories = use_extension("//third-party:extension.bzl", "crate_repositories") 49use_repo(crate_repositories, "vendor__anyhow-1.0.77") 50