| load("@rules_rust//rust:defs.bzl", "rust_library", "rust_proc_macro", "rust_test") |
| |
| rust_library( |
| name = "mylib", |
| srcs = ["mylib.rs"], |
| proc_macro_deps = [":proc_macro_dep"], |
| deps = [ |
| ":alias_dep", |
| ":lib_dep", |
| ], |
| ) |
| |
| rust_library( |
| name = "lib_dep", |
| srcs = ["lib_dep.rs"], |
| ) |
| |
| alias( |
| name = "alias_dep", |
| actual = ":actual_dep", |
| ) |
| |
| rust_library( |
| name = "actual_dep", |
| srcs = ["actual_dep.rs"], |
| deps = [":dep_of_aliased_dep"], |
| ) |
| |
| rust_library( |
| name = "dep_of_aliased_dep", |
| srcs = ["dep_of_aliased_dep.rs"], |
| ) |
| |
| rust_proc_macro( |
| name = "proc_macro_dep", |
| srcs = ["proc_macro_dep.rs"], |
| ) |
| |
| rust_test( |
| name = "mylib_test", |
| crate = ":mylib", |
| proc_macro_deps = [":extra_proc_macro_dep"], |
| deps = [":extra_test_dep"], |
| ) |
| |
| rust_library( |
| name = "extra_test_dep", |
| srcs = ["extra_test_dep.rs"], |
| ) |
| |
| rust_proc_macro( |
| name = "extra_proc_macro_dep", |
| srcs = ["extra_proc_macro_dep.rs"], |
| ) |
| |
| rust_test( |
| name = "rust_project_json_test", |
| srcs = ["rust_project_json_test.rs"], |
| data = [":rust-project.json"], |
| edition = "2018", |
| env = {"RUST_PROJECT_JSON": "$(rootpath :rust-project.json)"}, |
| # This target is tagged as manual since it's not expected to pass in |
| # contexts outside of `//test/rust_analyzer:rust_analyzer_test`. Run |
| # that target to execute this test. |
| tags = ["manual"], |
| ) |