| load("@bazel_skylib//rules:write_file.bzl", "write_file") |
| load("//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| rust_binary( |
| name = "hello_env", |
| srcs = ["src/main.rs"], |
| edition = "2018", |
| rustc_env_files = [":generate_rustc_env_file"], |
| ) |
| |
| write_file( |
| name = "generate_rustc_env_file", |
| out = "rustc_env_file", |
| content = [ |
| "CARGO_PKG_VERSION=1.2.3", |
| "GREETING=Howdy", |
| "", |
| ], |
| ) |
| |
| rust_test( |
| name = "output_test", |
| srcs = ["output_test.rs"], |
| args = ["$(rootpath :hello_env)"], |
| data = [":hello_env"], |
| edition = "2018", |
| use_libtest_harness = False, |
| ) |
| |
| rust_library( |
| name = "hello_env_crate", |
| srcs = ["src/lib.rs"], |
| edition = "2018", |
| rustc_env_files = [":generate_rustc_env_file"], |
| ) |
| |
| rust_test( |
| name = "hello_env_crate_test", |
| crate = ":hello_env_crate", |
| ) |