module(name = "rules_rs", version = "0.0.47", ) ########### BECOME THE RULES_RUST FACADE ################ rules_rust = use_extension("//rs/experimental:rules_rust.bzl", "rules_rust") use_repo(rules_rust, "rules_rust") http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") http_archive( name = "rules_rust_tinyjson", build_file = "@rules_rust//util/process_wrapper:BUILD.tinyjson.bazel", sha256 = "9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a", strip_prefix = "tinyjson-2.5.1", type = "tar.gz", url = "https://static.crates.io/crates/tinyjson/tinyjson-2.5.1.crate", ) bazel_dep(name = "apple_support", version = "1.24.1", repo_name = "build_bazel_apple_support") bazel_dep(name = "rules_shell", version = "0.6.1") ######################################################### toolchains = use_extension("//rs/experimental/toolchains:module_extension.bzl", "toolchains") use_repo( toolchains, "default_rust_toolchains", "rs_rust_host_tools", ) [ http_file( name = "toml2json_" + name, executable = True, sha256 = sha256, url = "https://github.com/hermeticbuild/toml2json/releases/download/v0.0.23/toml2json_" + name + ext, ) for name, sha256, ext in [ ("darwin_amd64", "3fad1d4314fec5074b635ba3e5b31d578e2539137a017092bf364672a3c9676a", ""), ("darwin_arm64", "6d9ac7a19c738771233192db058f74af1e6963e78147adef68d3463b6736fdd1", ""), ("linux_amd64", "fa7ce4deb4292a3ee93f4e47726ced6bb4e8483205e43e8daa4b05a4b77ec286", ""), ("linux_arm64", "c64706324f99ad7109c62ef9475c58a6a7c6efc2f9c5fa1ce7750eb0cd9e8d02", ""), ("windows_amd64", "bbc61cd6a081e490223b44f33003cb02e00301306d84fcba0cb3eaee8fb70396", ".exe"), ("windows_arm64", "00a7101da6260926e8c23af3b802f82d3f820054fae3d86c29886545f5985a92", ".exe"), ] ] bazel_dep(name = "bazel_lib", version = "3.0.0") bazel_dep(name = "bazel_features", version = "1.32.0") bazel_dep(name = "bazel_skylib", version = "1.4.1") bazel_dep(name = "package_metadata", version = "0.0.5") bazel_dep(name = "platforms", version = "0.0.5") bazel_dep(name = "protobuf", version = "34.0.bcr.1", repo_name = "com_google_protobuf") bazel_dep(name = "rules_cc", version = "0.2.8") bazel_dep(name = "rules_proto", version = "7.1.0") bazel_dep(name = "llvm", version = "0.6.7") bazel_dep(name = "aspect_tools_telemetry", version = "0.3.2") tel = use_extension("@aspect_tools_telemetry//:extension.bzl", "telemetry") use_repo(tel, "aspect_tools_telemetry_report") crate = use_extension("//rs:extensions.bzl", "crate") crate.from_cargo( name = "rrprd", cargo_lock = "//rs/private/prost:Cargo.lock", cargo_toml = "//rs/private/prost:Cargo.toml", platform_triples = [ "aarch64-unknown-linux-gnu", "aarch64-apple-darwin", "aarch64-pc-windows-gnullvm", "aarch64-pc-windows-msvc", "x86_64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-pc-windows-gnullvm", "x86_64-pc-windows-msvc", ], use_experimental_platforms = True, ) crate.annotation( crate = "protoc-gen-prost", gen_binaries = ["protoc-gen-prost"], ) crate.annotation( crate = "protoc-gen-tonic", gen_binaries = ["protoc-gen-tonic"], ) use_repo(crate, "rrprd") rules_rust_prost = use_extension("//rs/experimental:rules_rust_prost.bzl", "rules_rust_prost") use_repo(rules_rust_prost, "rules_rust_prost") bazel_dep(name = "rules_go", version = "0.59.0", dev_dependency = True) bazel_dep(name = "gazelle", version = "0.47.0", dev_dependency = True) bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.8.2", dev_dependency = True) bazel_dep(name = "buildifier_prebuilt", version = "6.1.2", dev_dependency = True)