1load("@bazel_skylib//rules:write_file.bzl", "write_file") 2load("//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") 3 4package(default_visibility = ["//visibility:public"]) 5 6rust_binary( 7 name = "hello_env", 8 srcs = ["src/main.rs"], 9 edition = "2018", 10 rustc_env_files = [":generate_rustc_env_file"], 11) 12 13write_file( 14 name = "generate_rustc_env_file", 15 out = "rustc_env_file", 16 content = [ 17 "CARGO_PKG_VERSION=1.2.3", 18 "GREETING=Howdy", 19 "", 20 ], 21) 22 23rust_test( 24 name = "output_test", 25 srcs = ["output_test.rs"], 26 args = ["$(rootpath :hello_env)"], 27 data = [":hello_env"], 28 edition = "2018", 29 use_libtest_harness = False, 30) 31 32rust_library( 33 name = "hello_env_crate", 34 srcs = ["src/lib.rs"], 35 edition = "2018", 36 rustc_env_files = [":generate_rustc_env_file"], 37) 38 39rust_test( 40 name = "hello_env_crate_test", 41 crate = ":hello_env_crate", 42) 43