1"""Tests for passing configuration to cargo_build_script rules""" 2 3load("//cargo:defs.bzl", "cargo_build_script", "cargo_dep_env") 4load("//rust:defs.bzl", "rust_library", "rust_test") 5load(":dep_env.bzl", "create_dep_dir") 6 7cargo_build_script( 8 name = "set_a_build", 9 srcs = ["set_a.rs"], 10 edition = "2018", 11 links = "X", 12) 13 14cargo_build_script( 15 name = "set_c_build", 16 srcs = ["set_c.rs"], 17 edition = "2018", 18 link_deps = [":set_a"], 19 links = "Y", 20) 21 22rust_library( 23 name = "set_a", 24 srcs = ["empty.rs"], 25 edition = "2018", 26 deps = [":set_a_build"], 27) 28 29cargo_dep_env( 30 name = "set_b", 31 src = "set_b.env", 32) 33 34rust_library( 35 name = "set_c", 36 srcs = ["empty.rs"], 37 edition = "2018", 38 deps = [ 39 ":set_a", 40 ":set_c_build", 41 ], 42) 43 44cargo_build_script( 45 name = "read_a", 46 srcs = ["read_a.rs"], 47 edition = "2018", 48 link_deps = [":set_a"], 49) 50 51cargo_build_script( 52 name = "read_b", 53 srcs = ["read_b.rs"], 54 edition = "2018", 55 link_deps = [":set_b"], 56) 57 58cargo_build_script( 59 name = "read_c", 60 srcs = ["read_c.rs"], 61 edition = "2018", 62 link_deps = [":set_c"], 63 deps = [":set_a"], 64) 65 66cargo_build_script( 67 name = "read_dep_dir", 68 srcs = ["read_dep_dir.rs"], 69 edition = "2018", 70 link_deps = [":set_dep_dir"], 71) 72 73rust_test( 74 name = "build_read_a", 75 srcs = ["read_a.rs"], 76 edition = "2018", 77 deps = [":read_a"], 78) 79 80rust_test( 81 name = "build_read_b", 82 srcs = ["read_b.rs"], 83 edition = "2018", 84 deps = [":read_b"], 85) 86 87rust_test( 88 name = "build_read_c", 89 srcs = ["read_c.rs"], 90 edition = "2018", 91 deps = [":read_c"], 92) 93 94rust_test( 95 name = "build_read_dep_dir", 96 srcs = ["read_dep_dir.rs"], 97 edition = "2018", 98 deps = [":read_dep_dir"], 99) 100 101create_dep_dir( 102 name = "dep_dir", 103) 104 105cargo_dep_env( 106 name = "set_dep_dir", 107 src = "set_dep_dir.env", 108 out_dir = "dep_dir", 109) 110 111genrule( 112 name = "gen_set_dep_dir", 113 srcs = ["dep_dir"], 114 outs = ["set_dep_dir.env"], 115 cmd = "echo DEP_DIR=\\$${pwd}/$(execpath dep_dir) > $@", 116) 117