"""Tests for passing configuration to cargo_build_script rules""" load("//cargo:defs.bzl", "cargo_build_script", "cargo_dep_env") load("//rust:defs.bzl", "rust_library", "rust_test") load(":dep_env.bzl", "create_dep_dir") cargo_build_script( name = "set_a_build", srcs = ["set_a.rs"], edition = "2018", links = "X", ) cargo_build_script( name = "set_c_build", srcs = ["set_c.rs"], edition = "2018", link_deps = [":set_a"], links = "Y", ) rust_library( name = "set_a", srcs = ["empty.rs"], edition = "2018", deps = [":set_a_build"], ) cargo_dep_env( name = "set_b", src = "set_b.env", ) rust_library( name = "set_c", srcs = ["empty.rs"], edition = "2018", deps = [ ":set_a", ":set_c_build", ], ) cargo_build_script( name = "read_a", srcs = ["read_a.rs"], edition = "2018", link_deps = [":set_a"], ) cargo_build_script( name = "read_b", srcs = ["read_b.rs"], edition = "2018", link_deps = [":set_b"], ) cargo_build_script( name = "read_c", srcs = ["read_c.rs"], edition = "2018", link_deps = [":set_c"], deps = [":set_a"], ) cargo_build_script( name = "read_dep_dir", srcs = ["read_dep_dir.rs"], edition = "2018", link_deps = [":set_dep_dir"], ) rust_test( name = "build_read_a", srcs = ["read_a.rs"], edition = "2018", deps = [":read_a"], ) rust_test( name = "build_read_b", srcs = ["read_b.rs"], edition = "2018", deps = [":read_b"], ) rust_test( name = "build_read_c", srcs = ["read_c.rs"], edition = "2018", deps = [":read_c"], ) rust_test( name = "build_read_dep_dir", srcs = ["read_dep_dir.rs"], edition = "2018", deps = [":read_dep_dir"], ) create_dep_dir( name = "dep_dir", ) cargo_dep_env( name = "set_dep_dir", src = "set_dep_dir.env", out_dir = "dep_dir", ) genrule( name = "gen_set_dep_dir", srcs = ["dep_dir"], outs = ["set_dep_dir.env"], cmd = "echo DEP_DIR=\\$${pwd}/$(execpath dep_dir) > $@", )