From 50af54cca83eb40f5571706efeacb80f9d953823 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 1 Dec 2020 15:57:12 +1000 Subject: [PATCH] support compile_data https://github.com/bazelbuild/rules_rust/pull/516 --- README.md | 2 +- impl/src/planning.rs | 1 + .../src/rendering/templates/partials/common_attrs.template | 3 +++ impl/src/settings.rs | 7 +++++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cc0d2343d..95bf0dfb1 100644 --- a/README.md +++ b/README.md @@ -342,7 +342,7 @@ time: ``` [package.metadata.raze.crates.ring.'*'] -data_attr = "glob([\"src/**\"])" +compile_data_attr = "glob([\"**/*.der\"])" ``` If you wish to disable the build script on an individual crate, you can do so diff --git a/impl/src/planning.rs b/impl/src/planning.rs index 3479b77f1..3503a36c0 100644 --- a/impl/src/planning.rs +++ b/impl/src/planning.rs @@ -680,6 +680,7 @@ mod tests { assert!(test_dep.skipped_deps.is_empty()); assert!(test_dep.additional_build_file.is_none()); assert!(test_dep.data_attr.is_none()); + assert!(test_dep.compile_data_attr.is_none()); }; assert_dep_not_match("anyhow", "*"); diff --git a/impl/src/rendering/templates/partials/common_attrs.template b/impl/src/rendering/templates/partials/common_attrs.template index 88e698477..08d008d1d 100644 --- a/impl/src/rendering/templates/partials/common_attrs.template +++ b/impl/src/rendering/templates/partials/common_attrs.template @@ -23,6 +23,9 @@ {%- if crate.raze_settings.data_attr %} data = {{crate.raze_settings.data_attr}}, {%- endif %} + {%- if crate.raze_settings.compile_data_attr %} + compile_data = {{crate.raze_settings.compile_data_attr}}, + {%- endif %} edition = "{{ target.edition }}", {%- if crate.default_deps.proc_macro_dependencies %} proc_macro_deps = [ diff --git a/impl/src/settings.rs b/impl/src/settings.rs index 6c54c7417..e90a49bf6 100644 --- a/impl/src/settings.rs +++ b/impl/src/settings.rs @@ -208,6 +208,12 @@ pub struct CrateSettings { #[serde(default = "default_crate_settings_field_data_attr")] pub data_attr: Option, + /** + * The verbatim `compile_data` clause to be included for the generated build targets. + */ + #[serde(default)] + pub compile_data_attr: Option, + /** * Additional environment variables to add when running the build script. */ @@ -302,6 +308,7 @@ impl Default for CrateSettings { additional_env: HashMap::new(), gen_buildrs: default_crate_settings_field_gen_buildrs(), data_attr: default_crate_settings_field_data_attr(), + compile_data_attr: None, buildrs_additional_environment_variables: HashMap::new(), patch_args: Vec::new(), patch_cmds: Vec::new(),