From 6258c699430bbbce57a4069e0873fc26ec54bbe5 Mon Sep 17 00:00:00 2001 From: UebelAndre Date: Mon, 28 Dec 2020 22:01:31 -0800 Subject: [PATCH] Fixed missing use of `rust_rules_workspace_name` setting in templates (#331) --- impl/src/bin/cargo-raze.rs | 1 + impl/src/rendering.rs | 1 + impl/src/rendering/bazel.rs | 28 +++++++++++++------ .../rendering/templates/crate.BUILD.template | 2 +- .../templates/partials/build_script.template | 2 +- 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/impl/src/bin/cargo-raze.rs b/impl/src/bin/cargo-raze.rs index 414959bdc..634565336 100644 --- a/impl/src/bin/cargo-raze.rs +++ b/impl/src/bin/cargo-raze.rs @@ -225,6 +225,7 @@ fn render_files( package_aliases_dir: settings.package_aliases_dir.clone(), vendored_buildfile_name: settings.output_buildfile_suffix.clone(), bazel_root: cargo_raze_working_dir, + rust_rules_workspace_name: settings.rust_rules_workspace_name, experimental_api: settings.experimental_api, }; let bazel_file_outputs = match &settings.genmode { diff --git a/impl/src/rendering.rs b/impl/src/rendering.rs index 9cec8c9b7..5d23a832f 100644 --- a/impl/src/rendering.rs +++ b/impl/src/rendering.rs @@ -48,5 +48,6 @@ pub struct RenderDetails { pub package_aliases_dir: String, pub vendored_buildfile_name: String, pub bazel_root: PathBuf, + pub rust_rules_workspace_name: String, pub experimental_api: bool, } diff --git a/impl/src/rendering/bazel.rs b/impl/src/rendering/bazel.rs index df1532e52..bd7c4d76a 100644 --- a/impl/src/rendering/bazel.rs +++ b/impl/src/rendering/bazel.rs @@ -127,10 +127,12 @@ impl BazelRenderer { &self, workspace_context: &WorkspaceContext, package: &CrateContext, + rust_rules_workspace_name: &str, ) -> Result { let mut context = Context::new(); context.insert("workspace", &workspace_context); context.insert("crate", &package); + context.insert("rust_rules_workspace_name", rust_rules_workspace_name); self .internal_renderer .render("templates/crate.BUILD.template", &context) @@ -154,10 +156,12 @@ impl BazelRenderer { &self, workspace_context: &WorkspaceContext, package: &CrateContext, + rust_rules_workspace_name: &str, ) -> Result { let mut context = Context::new(); context.insert("workspace", &workspace_context); context.insert("crate", &package); + context.insert("rust_rules_workspace_name", rust_rules_workspace_name); self .internal_renderer .render("templates/crate.BUILD.template", &context) @@ -358,13 +362,16 @@ impl BuildRenderer for BazelRenderer { } for package in crate_contexts { - let rendered_crate_build_file = - self - .render_crate(&workspace_context, &package) - .map_err(|e| RazeError::Rendering { - crate_name_opt: None, - message: unwind_tera_error!(e), - })?; + let rendered_crate_build_file = self + .render_crate( + &workspace_context, + &package, + &render_details.rust_rules_workspace_name, + ) + .map_err(|e| RazeError::Rendering { + crate_name_opt: None, + message: unwind_tera_error!(e), + })?; let final_crate_build_file = include_additional_build_file(package, rendered_crate_build_file)?; @@ -406,7 +413,11 @@ impl BuildRenderer for BazelRenderer { for package in crate_contexts { let rendered_crate_build_file = self - .render_remote_crate(&workspace_context, &package) + .render_remote_crate( + &workspace_context, + &package, + &render_details.rust_rules_workspace_name, + ) .map_err(|e| RazeError::Rendering { crate_name_opt: Some(package.pkg_name.to_owned()), message: unwind_tera_error!(e), @@ -488,6 +499,7 @@ mod tests { package_aliases_dir: "cargo".to_string(), vendored_buildfile_name: buildfile_suffix.to_owned(), bazel_root: PathBuf::from("/some/bazel/root"), + rust_rules_workspace_name: "rules_rust".to_owned(), experimental_api: true, } } diff --git a/impl/src/rendering/templates/crate.BUILD.template b/impl/src/rendering/templates/crate.BUILD.template index a6c67d3db..e5e7c9799 100644 --- a/impl/src/rendering/templates/crate.BUILD.template +++ b/impl/src/rendering/templates/crate.BUILD.template @@ -7,7 +7,7 @@ DO NOT EDIT! Replaced on runs of cargo-raze # buildifier: disable=load load( - "@io_bazel_rules_rust//rust:rust.bzl", + "@{{ rust_rules_workspace_name }}//rust:rust.bzl", "rust_binary", "rust_library", "rust_test", diff --git a/impl/src/rendering/templates/partials/build_script.template b/impl/src/rendering/templates/partials/build_script.template index 2205d26ab..9ee009631 100644 --- a/impl/src/rendering/templates/partials/build_script.template +++ b/impl/src/rendering/templates/partials/build_script.template @@ -1,6 +1,6 @@ # buildifier: disable=load-on-top load( - "@io_bazel_rules_rust//cargo:cargo_build_script.bzl", + "@{{ rust_rules_workspace_name }}//cargo:cargo_build_script.bzl", "cargo_build_script", )