load("@rules_rust//rust:defs.bzl", "rust_binary") load("@rules_rust//cargo:defs.bzl", "cargo_build_script") load("@everest_crate_index//:defs.bzl", "all_crate_deps") cargo_build_script( name = "build_script", srcs = ["build.rs"], edition="2021", build_script_env = { # This is a path to the folder where interfaces and types are placed. # We are guessing it here since bazel doesn't provide a good way # to resolve a directoryname of filegroup. "EVEREST_CORE_ROOT": "../../../../", }, deps = all_crate_deps(build=True) + [ "//lib/everest/framework/everestrs/everestrs-build", ], data= [ "//types:types", "//interfaces:interfaces", "manifest.yaml", ], ) rust_binary( name = "RsExample", srcs = glob(["src/**/*.rs"]), visibility = ["//visibility:public"], edition = "2021", deps = all_crate_deps() + [ "//lib/everest/framework/everestrs/everestrs", "//lib/everest/framework/everestrs/everestrs:everestrs_sys", "//lib/everest/framework/everestrs/everestrs:everestrs_bridge", ":build_script", ], proc_macro_deps = all_crate_deps(proc_macro=True), )