diff --git a/crate_universe/BUILD.bazel b/crate_universe/BUILD.bazel index 3f8a594dfc..5fdd7b0508 100644 --- a/crate_universe/BUILD.bazel +++ b/crate_universe/BUILD.bazel @@ -66,7 +66,6 @@ rust_library( aliases = aliases(), compile_data = [":rust_data"], edition = "2021", - proc_macro_deps = all_crate_deps(proc_macro = True), # This target embeds additional, stamping related information (see # https://docs.bazel.build/versions/main/user-manual.html#workspace_status # for more information). Set stamp = -1 to indicate that it should respect @@ -74,7 +73,10 @@ rust_library( stamp = -1, version = VERSION, visibility = ["//visibility:public"], - deps = all_crate_deps(normal = True), + deps = all_crate_deps( + normal = True, + proc_macro = True, + ), ) rust_binary( diff --git a/crate_universe/defs.bzl b/crate_universe/defs.bzl index 2d5f219ebd..52ca4250ed 100644 --- a/crate_universe/defs.bzl +++ b/crate_universe/defs.bzl @@ -75,8 +75,6 @@ rust_library( aliases = aliases(), deps = all_crate_deps( normal = True, - ), - proc_macro_deps = all_crate_deps( proc_macro = True, ), ) @@ -90,8 +88,6 @@ rust_test( ), deps = all_crate_deps( normal_dev = True, - ), - proc_macro_deps = all_crate_deps( proc_macro_dev = True, ), ) @@ -143,10 +139,8 @@ load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") rust_library( name = "lib", deps = [ - "@crate_index//:tokio", - ], - proc_macro_deps = [ "@crate_index//:async-trait", + "@crate_index//:tokio", ], ) diff --git a/crate_universe/extensions.bzl b/crate_universe/extensions.bzl index 2f105af3a2..3aa51a0c2f 100644 --- a/crate_universe/extensions.bzl +++ b/crate_universe/extensions.bzl @@ -89,8 +89,6 @@ rust_library( aliases = aliases(), deps = all_crate_deps( normal = True, - ), - proc_macro_deps = all_crate_deps( proc_macro = True, ), ) @@ -104,8 +102,6 @@ rust_test( ), deps = all_crate_deps( normal_dev = True, - ), - proc_macro_deps = all_crate_deps( proc_macro_dev = True, ), ) diff --git a/crate_universe/src/rendering.rs b/crate_universe/src/rendering.rs index 425bd1b213..88761b52f8 100644 --- a/crate_universe/src/rendering.rs +++ b/crate_universe/src/rendering.rs @@ -582,11 +582,21 @@ impl Renderer { attrs.map(|attrs| attrs.data.clone()).unwrap_or_default(), ), deps: SelectSet::new( - self.make_deps( - attrs.map(|attrs| attrs.deps.clone()).unwrap_or_default(), - attrs - .map(|attrs| attrs.extra_deps.clone()) - .unwrap_or_default(), + Select::merge( + self.make_deps( + attrs.map(|attrs| attrs.deps.clone()).unwrap_or_default(), + attrs + .map(|attrs| attrs.extra_deps.clone()) + .unwrap_or_default(), + ), + self.make_deps( + attrs + .map(|attrs| attrs.proc_macro_deps.clone()) + .unwrap_or_default(), + attrs + .map(|attrs| attrs.extra_proc_macro_deps.clone()) + .unwrap_or_default(), + ), ), platforms, ), @@ -605,17 +615,6 @@ impl Renderer { linker_script: krate.common_attrs.linker_script.clone(), links: attrs.and_then(|attrs| attrs.links.clone()), pkg_name: Some(krate.name.clone()), - proc_macro_deps: SelectSet::new( - self.make_deps( - attrs - .map(|attrs| attrs.proc_macro_deps.clone()) - .unwrap_or_default(), - attrs - .map(|attrs| attrs.extra_proc_macro_deps.clone()) - .unwrap_or_default(), - ), - platforms, - ), rundir: SelectScalar::new( attrs.map(|attrs| attrs.rundir.clone()).unwrap_or_default(), platforms, @@ -674,16 +673,15 @@ impl Renderer { Ok(RustProcMacro { name: target.crate_name.clone(), deps: SelectSet::new( - self.make_deps( - krate.common_attrs.deps.clone(), - krate.common_attrs.extra_deps.clone(), - ), - platforms, - ), - proc_macro_deps: SelectSet::new( - self.make_deps( - krate.common_attrs.proc_macro_deps.clone(), - krate.common_attrs.extra_proc_macro_deps.clone(), + Select::merge( + self.make_deps( + krate.common_attrs.deps.clone(), + krate.common_attrs.extra_deps.clone(), + ), + self.make_deps( + krate.common_attrs.proc_macro_deps.clone(), + krate.common_attrs.extra_proc_macro_deps.clone(), + ), ), platforms, ), @@ -701,16 +699,15 @@ impl Renderer { Ok(RustLibrary { name: target.crate_name.clone(), deps: SelectSet::new( - self.make_deps( - krate.common_attrs.deps.clone(), - krate.common_attrs.extra_deps.clone(), - ), - platforms, - ), - proc_macro_deps: SelectSet::new( - self.make_deps( - krate.common_attrs.proc_macro_deps.clone(), - krate.common_attrs.extra_proc_macro_deps.clone(), + Select::merge( + self.make_deps( + krate.common_attrs.deps.clone(), + krate.common_attrs.extra_deps.clone(), + ), + self.make_deps( + krate.common_attrs.proc_macro_deps.clone(), + krate.common_attrs.extra_proc_macro_deps.clone(), + ), ), platforms, ), @@ -729,9 +726,15 @@ impl Renderer { Ok(RustBinary { name: format!("{}__bin", target.crate_name), deps: { - let mut deps = self.make_deps( - krate.common_attrs.deps.clone(), - krate.common_attrs.extra_deps.clone(), + let mut deps = Select::merge( + self.make_deps( + krate.common_attrs.deps.clone(), + krate.common_attrs.extra_deps.clone(), + ), + self.make_deps( + krate.common_attrs.proc_macro_deps.clone(), + krate.common_attrs.extra_proc_macro_deps.clone(), + ), ); if let Some(library_target_name) = &krate.library_target_name { deps.insert( @@ -741,13 +744,6 @@ impl Renderer { } SelectSet::new(deps, platforms) }, - proc_macro_deps: SelectSet::new( - self.make_deps( - krate.common_attrs.proc_macro_deps.clone(), - krate.common_attrs.extra_proc_macro_deps.clone(), - ), - platforms, - ), aliases: SelectDict::new(self.make_aliases(krate, false, false), platforms), common: self.make_common_attrs(platforms, krate, target)?, }) diff --git a/crate_universe/src/utils/starlark.rs b/crate_universe/src/utils/starlark.rs index a33a1ac77a..8a21eef0ba 100644 --- a/crate_universe/src/utils/starlark.rs +++ b/crate_universe/src/utils/starlark.rs @@ -118,8 +118,6 @@ pub(crate) struct CargoBuildScript { pub(crate) links: Option, #[serde(skip_serializing_if = "Option::is_none")] pub(crate) pkg_name: Option, - #[serde(skip_serializing_if = "SelectSet::is_empty")] - pub(crate) proc_macro_deps: SelectSet