| load("//rust:defs.bzl", "rust_library", "rust_proc_macro", "rust_test") |
| |
| # Data of both :rust_proc_macro and :proc_macro_helper needs to be available at |
| # build time (which is run-time of the procedural macros). |
| rust_test( |
| name = "proc_macro_data_test", |
| srcs = ["rust_test.rs"], |
| edition = "2021", |
| proc_macro_deps = [ |
| ":rust_proc_macro", |
| ], |
| deps = [ |
| ":nonmacro_library", |
| ], |
| ) |
| |
| # Data of both :rust_proc_macro and :proc_macro_helper needs to be available. |
| rust_library( |
| name = "nonmacro_library", |
| srcs = ["nonmacro_library.rs"], |
| edition = "2021", |
| proc_macro_deps = [ |
| ":rust_proc_macro", |
| ], |
| ) |
| |
| # No data needs to be available during this build. |
| rust_proc_macro( |
| name = "rust_proc_macro", |
| srcs = ["rust_proc_macro.rs"], |
| data = ["proc_macro_data.txt"], |
| edition = "2021", |
| rustc_env = {"CARGO_MANIFEST_DIR": package_name()}, |
| deps = [ |
| ":proc_macro_helper", |
| ], |
| ) |
| |
| rust_library( |
| name = "proc_macro_helper", |
| srcs = ["proc_macro_helper.rs"], |
| data = ["helper_data.txt"], |
| edition = "2021", |
| rustc_env = {"CARGO_MANIFEST_DIR": package_name()}, |
| ) |