| """rules_rust/examples/crate_universe""" |
| |
| module( |
| name = "examples", |
| version = "0.0.0", |
| ) |
| |
| ############################################################################### |
| # B A Z E L C E N T R A L R E G I S T R Y # https://registry.bazel.build/ |
| ############################################################################### |
| # https://github.com/bazelbuild/rules_rust/releases |
| bazel_dep(name = "rules_rust", version = "0.46.0") |
| local_path_override( |
| module_name = "rules_rust", |
| path = "../..", |
| ) |
| |
| bazel_dep(name = "platforms", version = "0.0.11") |
| bazel_dep(name = "rules_cc", version = "0.1.1") |
| bazel_dep(name = "bazel_skylib", version = "1.7.1") |
| |
| bazel_dep(name = "bazel_ci_rules", version = "1.0.0", dev_dependency = True) |
| |
| dev = use_extension("//:vendor_extensions.bzl", "dev", dev_dependency = True) |
| use_repo( |
| dev, |
| "buildkite_config", |
| ) |
| |
| # https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/repo/http.bzl |
| http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| |
| ############################################################################### |
| # T O O L C H A I N S |
| ############################################################################### |
| |
| rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") |
| use_repo(rust, "rust_toolchains") |
| |
| register_toolchains("@rust_toolchains//:all") |
| |
| ############################################################################### |
| # A L I A S R U L E |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| alias_rule_global_alias_annotation_none = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| alias_rule_global_alias_annotation_none.annotation( |
| alias_rule = "", # `None` cannot be represented here so an empty string is used instead. |
| crate = "test_data_passing_crate", |
| repositories = ["alias_rule_global_alias_annotation_none"], |
| ) |
| alias_rule_global_alias_annotation_none.render_config( |
| default_alias_rule_name = "alias", |
| repositories = ["alias_rule_global_alias_annotation_none"], |
| ) |
| alias_rule_global_alias_annotation_none.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_alias_annotation_none"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_alias_annotation_none.from_specs( |
| name = "alias_rule_global_alias_annotation_none", |
| cargo_lockfile = "//alias_rule:Cargo.lock", |
| lockfile = "//alias_rule:cargo-bazel-lock_global_alias_annotation_none.json", |
| ) |
| use_repo( |
| alias_rule_global_alias_annotation_none, |
| "alias_rule_global_alias_annotation_none", |
| ) |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| alias_rule_global_alias_annotation_opt = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| alias_rule_global_alias_annotation_opt.annotation( |
| alias_rule = "opt", |
| crate = "test_data_passing_crate", |
| repositories = ["alias_rule_global_alias_annotation_opt"], |
| ) |
| alias_rule_global_alias_annotation_opt.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_alias_annotation_opt"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_alias_annotation_opt.render_config( |
| default_alias_rule_name = "alias", |
| repositories = ["alias_rule_global_alias_annotation_opt"], |
| ) |
| alias_rule_global_alias_annotation_opt.from_specs( |
| name = "alias_rule_global_alias_annotation_opt", |
| cargo_lockfile = "//alias_rule:Cargo.lock", |
| lockfile = "//alias_rule:cargo-bazel-lock_global_alias_annotation_opt.json", |
| ) |
| use_repo( |
| alias_rule_global_alias_annotation_opt, |
| "alias_rule_global_alias_annotation_opt", |
| ) |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| alias_rule_global_opt_annotation_none = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| alias_rule_global_opt_annotation_none.annotation( |
| alias_rule = "", # `None` cannot be represented here so `""` is used instead. |
| crate = "test_data_passing_crate", |
| repositories = ["alias_rule_global_opt_annotation_none"], |
| ) |
| alias_rule_global_opt_annotation_none.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_opt_annotation_none"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_opt_annotation_none.render_config( |
| default_alias_rule_name = "opt", |
| repositories = ["alias_rule_global_opt_annotation_none"], |
| ) |
| alias_rule_global_opt_annotation_none.from_specs( |
| name = "alias_rule_global_opt_annotation_none", |
| cargo_lockfile = "//alias_rule:Cargo.lock", |
| lockfile = "//alias_rule:cargo-bazel-lock_global_opt_annotation_none.json", |
| ) |
| use_repo( |
| alias_rule_global_opt_annotation_none, |
| "alias_rule_global_opt_annotation_none", |
| ) |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| alias_rule_global_opt_annotation_alias = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| alias_rule_global_opt_annotation_alias.annotation( |
| alias_rule = "alias", |
| crate = "test_data_passing_crate", |
| repositories = ["alias_rule_global_opt_annotation_alias"], |
| ) |
| alias_rule_global_opt_annotation_alias.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_opt_annotation_alias"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_opt_annotation_alias.render_config( |
| default_alias_rule_name = "opt", |
| repositories = ["alias_rule_global_opt_annotation_alias"], |
| ) |
| alias_rule_global_opt_annotation_alias.from_specs( |
| name = "alias_rule_global_opt_annotation_alias", |
| cargo_lockfile = "//alias_rule:Cargo.lock", |
| lockfile = "//alias_rule:cargo-bazel-lock_global_opt_annotation_alias.json", |
| ) |
| use_repo( |
| alias_rule_global_opt_annotation_alias, |
| "alias_rule_global_opt_annotation_alias", |
| ) |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| alias_rule_global_opt_annotation_dbg = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| alias_rule_global_opt_annotation_dbg.annotation( |
| alias_rule = "dbg", |
| crate = "test_data_passing_crate", |
| repositories = ["alias_rule_global_opt_annotation_dbg"], |
| ) |
| alias_rule_global_opt_annotation_dbg.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_opt_annotation_dbg"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_opt_annotation_dbg.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_opt_annotation_dbg"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_opt_annotation_dbg.render_config( |
| default_alias_rule_name = "opt", |
| repositories = ["alias_rule_global_opt_annotation_dbg"], |
| ) |
| alias_rule_global_opt_annotation_dbg.from_specs( |
| name = "alias_rule_global_opt_annotation_dbg", |
| cargo_lockfile = "//alias_rule:Cargo.lock", |
| lockfile = "//alias_rule:cargo-bazel-lock_global_opt_annotation_dbg.json", |
| ) |
| use_repo( |
| alias_rule_global_opt_annotation_dbg, |
| "alias_rule_global_opt_annotation_dbg", |
| ) |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| alias_rule_global_dbg_annotation_fastbuild = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| alias_rule_global_dbg_annotation_fastbuild.annotation( |
| alias_rule = "fastbuild", |
| crate = "test_data_passing_crate", |
| repositories = ["alias_rule_global_dbg_annotation_fastbuild"], |
| ) |
| alias_rule_global_dbg_annotation_fastbuild.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_dbg_annotation_fastbuild"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_dbg_annotation_fastbuild.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_dbg_annotation_fastbuild"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_dbg_annotation_fastbuild.render_config( |
| default_alias_rule_name = "dbg", |
| repositories = ["alias_rule_global_dbg_annotation_fastbuild"], |
| ) |
| alias_rule_global_dbg_annotation_fastbuild.from_specs( |
| name = "alias_rule_global_dbg_annotation_fastbuild", |
| cargo_lockfile = "//alias_rule:Cargo.lock", |
| lockfile = "//alias_rule:cargo-bazel-lock_global_dbg_annotation_fastbuild.json", |
| ) |
| use_repo( |
| alias_rule_global_dbg_annotation_fastbuild, |
| "alias_rule_global_dbg_annotation_fastbuild", |
| ) |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| alias_rule_global_custom_annotation_none = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| alias_rule_global_custom_annotation_none.annotation( |
| alias_rule = "", # `None` cannot be represented here so an empty string is used instead. |
| crate = "test_data_passing_crate", |
| repositories = ["alias_rule_global_custom_annotation_none"], |
| ) |
| alias_rule_global_custom_annotation_none.spec( |
| package = "test_data_passing_crate", |
| repositories = ["alias_rule_global_custom_annotation_none"], |
| version = "0.1.0", |
| ) |
| alias_rule_global_custom_annotation_none.render_config( |
| default_alias_rule_bzl = "//alias_rule:alias_rules.bzl", |
| default_alias_rule_name = "alias_rule", |
| repositories = ["alias_rule_global_custom_annotation_none"], |
| ) |
| alias_rule_global_custom_annotation_none.from_specs( |
| name = "alias_rule_global_custom_annotation_none", |
| cargo_lockfile = "//alias_rule:Cargo.lock", |
| lockfile = "//alias_rule:cargo-bazel-lock_global_custom_annotation_none.json", |
| ) |
| use_repo( |
| alias_rule_global_custom_annotation_none, |
| "alias_rule_global_custom_annotation_none", |
| ) |
| |
| ############################################################################### |
| # C A R G O A L I A S E S |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| cargo_aliases = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| cargo_aliases.annotation( |
| crate = "names", |
| repositories = ["cargo_aliases"], |
| shallow_since = "1646516410 -0700", |
| version = "0.12.1-dev", |
| ) |
| cargo_aliases.from_cargo( |
| name = "cargo_aliases", |
| cargo_lockfile = "//cargo_aliases:Cargo.Bazel.lock", |
| lockfile = "//cargo_aliases:cargo-bazel-lock.json", |
| manifests = ["//cargo_aliases:Cargo.toml"], |
| ) |
| use_repo( |
| cargo_aliases, |
| "cargo_aliases", |
| ) |
| |
| ############################################################################### |
| # C A R G O B I N D E P S |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| crate_index_cargo_bindeps = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| crate_index_cargo_bindeps.from_cargo( |
| name = "crate_index_cargo_bindeps", |
| cargo_lockfile = "//cargo_bindeps:Cargo.lock", |
| generate_binaries = True, |
| host_tools_repo = "rust_host_tools_nightly", |
| manifests = ["//cargo_bindeps:Cargo.toml"], |
| ) |
| use_repo( |
| crate_index_cargo_bindeps, |
| "crate_index_cargo_bindeps", |
| ) |
| |
| ############################################################################### |
| # C A R G O L O C A L |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| crate_index_cargo_local = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| crate_index_cargo_local.from_cargo( |
| name = "crate_index_cargo_local", |
| cargo_lockfile = "//cargo_local:Cargo.lock", |
| manifests = ["//cargo_local:Cargo.toml"], |
| ) |
| use_repo( |
| crate_index_cargo_local, |
| "crate_index_cargo_local", |
| ) |
| |
| ############################################################################### |
| # C A R G O R E M O T E |
| ############################################################################### |
| |
| http_archive( |
| name = "names", |
| build_file = "//cargo_remote:BUILD.names.bazel", |
| sha256 = "eab40caca5805624ba31d028913931c3d054b22daafff6f43e3435cfa9fb761e", |
| strip_prefix = "names-0.13.0", |
| urls = ["https://github.com/fnichol/names/archive/refs/tags/v0.13.0.zip"], |
| ) |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| crate_index_cargo_remote = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| crate_index_cargo_remote.from_cargo( |
| name = "crate_index_cargo_remote", |
| cargo_lockfile = "@names//:Cargo.lock", |
| manifests = ["@names//:Cargo.toml"], |
| ) |
| use_repo( |
| crate_index_cargo_remote, |
| "crate_index_cargo_remote", |
| ) |
| |
| ############################################################################### |
| # C A R G O W O R K S P A C E |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| crate_index_cargo_workspace = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| crate_index_cargo_workspace.from_cargo( |
| name = "crate_index_cargo_workspace", |
| cargo_config = "//cargo_workspace:.cargo/config.toml", |
| cargo_lockfile = "//cargo_workspace:Cargo.Bazel.lock", |
| lockfile = "//cargo_workspace:cargo-bazel-lock.json", |
| manifests = [ |
| "//cargo_workspace:Cargo.toml", |
| "//cargo_workspace/num_printer:Cargo.toml", |
| "//cargo_workspace/printer:Cargo.toml", |
| "//cargo_workspace/rng:Cargo.toml", |
| ], |
| ) |
| use_repo( |
| crate_index_cargo_workspace, |
| "crate_index_cargo_workspace", |
| ) |
| |
| ############################################################################### |
| # C A R G O C O N D I T I O N A L D E P S |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| crate_index_cargo_conditional_deps = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| crate_index_cargo_conditional_deps.from_cargo( |
| name = "crate_index_cargo_conditional_deps", |
| cargo_lockfile = "//cargo_conditional_deps:Cargo.Bazel.lock", |
| lockfile = "//cargo_conditional_deps:cargo-bazel-lock.json", |
| manifests = [ |
| "//cargo_conditional_deps:Cargo.toml", |
| ], |
| ) |
| use_repo( |
| crate_index_cargo_conditional_deps, |
| "crate_index_cargo_conditional_deps", |
| ) |
| |
| ############################################################################### |
| # M U L T I P A C K A G E |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| multi_pkg_example = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| multi_pkg_example.annotation( |
| crate = "curl-sys", |
| gen_build_script = "off", |
| repositories = ["m_pkgs"], |
| deps = [ |
| "@m_pkgs__curl//:curl", |
| ], |
| ) |
| multi_pkg_example.annotation( |
| crate = "httpmock", |
| repositories = ["m_pkgs"], |
| shallow_since = "1673473097 +0100", |
| ) |
| multi_pkg_example.annotation( |
| crate = "isahc", |
| repositories = ["m_pkgs"], |
| shallow_since = "1667787880 -0600", |
| ) |
| multi_pkg_example.annotation( |
| build_script_data_glob = ["nghttp2/**"], |
| crate = "libnghttp2-sys", |
| data_glob = ["nghttp2/**"], |
| repositories = ["m_pkgs"], |
| ) |
| multi_pkg_example.annotation( |
| build_script_data_glob = ["vendor/**"], |
| crate = "wepoll-ffi", |
| repositories = ["m_pkgs"], |
| ) |
| multi_pkg_example.from_cargo( |
| # Note: m_pkgs == multi_pkg_example` to avoid MAX_PATH issues on Windows |
| name = "m_pkgs", |
| cargo_lockfile = "//multi_package:Cargo.Bazel.lock", |
| lockfile = "//multi_package:cargo-bazel-lock.json", |
| manifests = [ |
| "//multi_package/pkg_a:Cargo.toml", |
| "//multi_package/sub_pkgs/pkg_b:Cargo.toml", |
| "//multi_package/sub_pkgs/pkg_c:Cargo.toml", |
| ], |
| ) |
| use_repo( |
| multi_pkg_example, |
| "m_pkgs", |
| ) |
| |
| http_archive( |
| name = "m_pkgs__curl", |
| build_file = "//multi_package/3rdparty:BUILD.curl.bazel", |
| integrity = "sha256-c6Sw6ZWWoJ+lkkpPt+S5lahf2g0YosAquc8TS+vOBO4=", |
| strip_prefix = "curl-8.10.1", |
| type = "tar.xz", |
| urls = [ |
| "https://curl.se/download/curl-8.10.1.tar.xz", |
| "https://github.com/curl/curl/releases/download/curl-8_10_1/curl-8.10.1.tar.xz", |
| ], |
| ) |
| |
| ############################################################################### |
| # N O C A R G O M A N I F E S T S |
| ############################################################################### |
| |
| no_cargo = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| no_cargo.annotation( |
| compile_data_glob = ["**/*.md"], |
| crate = "axum", |
| repositories = ["no_cargo"], |
| ) |
| no_cargo.spec( |
| package = "axum", |
| repositories = ["no_cargo"], |
| version = "0.4.0", |
| ) |
| no_cargo.spec( |
| features = ["full"], |
| package = "hyper", |
| repositories = ["no_cargo"], |
| version = "0.14.22", |
| ) |
| no_cargo.spec( |
| package = "mime", |
| repositories = ["no_cargo"], |
| version = "0.3", |
| ) |
| no_cargo.spec( |
| package = "serde_json", |
| repositories = ["no_cargo"], |
| version = "1.0", |
| ) |
| |
| # TODO: This dependency is added and pinned forward due to the |
| # following issue: https://github.com/hyperium/hyper/issues/3038 |
| no_cargo.spec( |
| features = ["all"], |
| package = "socket2", |
| repositories = ["no_cargo"], |
| version = "0.4.7", |
| ) |
| no_cargo.spec( |
| features = ["full"], |
| package = "tokio", |
| repositories = ["no_cargo"], |
| version = "1.17.0", |
| ) |
| no_cargo.spec( |
| features = ["util"], |
| package = "tower", |
| repositories = ["no_cargo"], |
| version = "0.4", |
| ) |
| no_cargo.spec( |
| features = ["trace"], |
| package = "tower-http", |
| repositories = ["no_cargo"], |
| version = "0.2.1", |
| ) |
| no_cargo.spec( |
| package = "tracing", |
| repositories = ["no_cargo"], |
| version = "0.1", |
| ) |
| no_cargo.spec( |
| package = "tracing-subscriber", |
| repositories = ["no_cargo"], |
| version = "0.3", |
| ) |
| no_cargo.splicing_config( |
| repositories = ["no_cargo"], |
| resolver_version = "2", |
| ) |
| no_cargo.from_specs( |
| name = "no_cargo", |
| ) |
| use_repo( |
| no_cargo, |
| "no_cargo", |
| ) |
| |
| ############################################################################### |
| # U S I N G C X X C R A T E |
| ############################################################################### |
| |
| # CXX crate is a bit different since there are C++ headers provided. |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| using_cxx = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| using_cxx.spec( |
| package = "cxx", |
| repositories = ["using_cxx"], |
| version = "1.0.109", |
| ) |
| using_cxx.splicing_config( |
| repositories = ["using_cxx"], |
| resolver_version = "2", |
| ) |
| using_cxx.from_specs( |
| name = "using_cxx", |
| cargo_lockfile = "//using_cxx:Cargo.Bazel.lock", |
| lockfile = "//using_cxx:cargo-bazel-lock.json", |
| ) |
| use_repo( |
| using_cxx, |
| "using_cxx", |
| ) |
| |
| # The codegen tool needed by cxx. |
| http_archive( |
| name = "cxxbridge-cmd", |
| build_file_content = """ |
| load("@rules_rust//rust:defs.bzl", "rust_binary") |
| load("@cxxbridge_cmd_deps//:defs.bzl", "aliases", "all_crate_deps") |
| |
| rust_binary( |
| name = "cxxbridge-cmd", |
| srcs = glob(["src/**/*.rs"]), |
| aliases = aliases(), |
| compile_data = [ |
| "src/gen/include/cxx.h", |
| ], |
| edition = "2021", |
| visibility = ["//visibility:public"], |
| deps = all_crate_deps( |
| normal = True, |
| ), |
| ) |
| """, |
| sha256 = "d93600487d429c8bf013ee96719af4e62e809ac57fc4cac24f17cf58e4526009", |
| strip_prefix = "cxxbridge-cmd-1.0.109", |
| type = "tar.gz", |
| urls = ["https://static.crates.io/crates/cxxbridge-cmd/cxxbridge-cmd-1.0.109.crate"], |
| ) |
| |
| cxxbridge_cmd_deps = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| cxxbridge_cmd_deps.splicing_config( |
| repositories = ["cxxbridge_cmd_deps"], |
| resolver_version = "2", |
| ) |
| cxxbridge_cmd_deps.from_cargo( |
| name = "cxxbridge_cmd_deps", |
| cargo_lockfile = "//using_cxx:cxxbridge-cmd.Cargo.lock", |
| lockfile = "//using_cxx:cxxbridge-cmd.cargo-bazel-lock.json", |
| manifests = ["@cxxbridge-cmd//:Cargo.toml"], |
| ) |
| use_repo( |
| cxxbridge_cmd_deps, |
| "cxxbridge_cmd_deps", |
| ) |
| |
| ############################################################################### |
| # V E N D O R E D |
| ############################################################################### |
| |
| http_archive( |
| name = "names_external", |
| build_file = "//cargo_remote:BUILD.names.bazel", |
| sha256 = "eab40caca5805624ba31d028913931c3d054b22daafff6f43e3435cfa9fb761e", |
| strip_prefix = "names-0.13.0", |
| urls = ["https://github.com/fnichol/names/archive/refs/tags/v0.13.0.zip"], |
| ) |
| |
| vendored = use_extension("//:vendor_extensions.bzl", "vendored") |
| use_repo( |
| vendored, |
| "crates_vendor", |
| "crates_vendor__clap-3.1.5", |
| "crates_vendor__rand-0.8.5", |
| "crates_vendor__version-sync-0.9.4", |
| "crates_vendor_pkgs", |
| "crates_vendor_pkgs__axum-0.4.8", |
| "crates_vendor_pkgs__hyper-0.14.32", |
| "crates_vendor_pkgs__mime-0.3.17", |
| "crates_vendor_pkgs__serde_json-1.0.135", |
| "crates_vendor_pkgs__socket2-0.4.10", |
| "crates_vendor_pkgs__tokio-1.43.0", |
| "crates_vendor_pkgs__tower-0.4.13", |
| "crates_vendor_pkgs__tower-http-0.2.5", |
| "crates_vendor_pkgs__tracing-0.1.41", |
| "crates_vendor_pkgs__tracing-subscriber-0.3.19", |
| "cvm", |
| "cvm__serde_yaml-0.9.34-deprecated", |
| "cvm__tempfile-3.19.1", |
| "cvm__tokio-1.44.1", |
| "cvm__tokio-test-0.4.4", |
| ) |
| |
| ############################################################################### |
| # C O M P L I C A T E D D E P E N D E N C I E S |
| ############################################################################### |
| |
| bazel_dep(name = "boringssl", version = "0.20241209.0") |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| complicated_dependencies = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| |
| inject_repo(complicated_dependencies, "boringssl") |
| |
| complicated_dependencies.annotation( |
| build_script_data = [ |
| "@@//complicated_dependencies:boringssl_gen_dir", |
| ], |
| build_script_env = { |
| # Ideally this would use an execpath macro, but we need to point at a directory and that's fiddly. We could probably |
| # copy the director somewhere and point at that... For now, this works. |
| "BORING_BSSL_INCLUDE_PATH": "$(execpath @@//complicated_dependencies:boringssl_gen_dir)/include", |
| "BORING_BSSL_PATH": "$(execpath @@//complicated_dependencies:boringssl_gen_dir)", |
| }, |
| compile_data = [ |
| "@@//complicated_dependencies:boringssl_gen_dir", |
| ], |
| crate = "boring-sys", |
| repositories = ["complicated_dependencies"], |
| ) |
| complicated_dependencies.spec( |
| package = "boring", |
| repositories = ["complicated_dependencies"], |
| version = "3.0.4", |
| ) |
| complicated_dependencies.splicing_config( |
| repositories = ["complicated_dependencies"], |
| resolver_version = "2", |
| ) |
| complicated_dependencies.from_specs( |
| name = "complicated_dependencies", |
| cargo_lockfile = "//complicated_dependencies:Cargo.Bazel.lock", |
| lockfile = "//complicated_dependencies:cargo-bazel-lock.json", |
| ) |
| use_repo( |
| complicated_dependencies, |
| "complicated_dependencies", |
| ) |
| |
| ############################################################################### |
| # O V E R R I D E T A R G E T |
| ############################################################################### |
| |
| # https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html |
| override_target = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| override_target.annotation( |
| crate = "foo", |
| override_target_lib = "//override_target:foo", |
| repositories = ["override_target"], |
| ) |
| override_target.spec( |
| package = "foo", |
| repositories = ["override_target"], |
| version = "0.0.0", |
| ) |
| override_target.splicing_config( |
| repositories = ["override_target"], |
| resolver_version = "2", |
| ) |
| override_target.from_cargo( |
| name = "override_target", |
| cargo_lockfile = "//override_target:Cargo.Bazel.lock", |
| lockfile = "//override_target:cargo-bazel-lock.json", |
| ) |
| use_repo( |
| override_target, |
| "override_target", |
| ) |