Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions crate_universe/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,17 @@ 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
# the value of the --stamp commandline flag.
stamp = -1,
version = VERSION,
visibility = ["//visibility:public"],
deps = all_crate_deps(normal = True),
deps = all_crate_deps(
normal = True,
proc_macro = True,
),
)

rust_binary(
Expand Down
8 changes: 1 addition & 7 deletions crate_universe/defs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@ rust_library(
aliases = aliases(),
deps = all_crate_deps(
normal = True,
),
proc_macro_deps = all_crate_deps(
proc_macro = True,
),
)
Expand All @@ -90,8 +88,6 @@ rust_test(
),
deps = all_crate_deps(
normal_dev = True,
),
proc_macro_deps = all_crate_deps(
proc_macro_dev = True,
),
)
Expand Down Expand Up @@ -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",
],
)

Expand Down
4 changes: 0 additions & 4 deletions crate_universe/extensions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,6 @@ rust_library(
aliases = aliases(),
deps = all_crate_deps(
normal = True,
),
proc_macro_deps = all_crate_deps(
proc_macro = True,
),
)
Expand All @@ -104,8 +102,6 @@ rust_test(
),
deps = all_crate_deps(
normal_dev = True,
),
proc_macro_deps = all_crate_deps(
proc_macro_dev = True,
),
)
Expand Down
88 changes: 42 additions & 46 deletions crate_universe/src/rendering.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
),
Expand All @@ -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,
Expand Down Expand Up @@ -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,
),
Expand All @@ -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,
),
Expand All @@ -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(
Expand All @@ -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)?,
})
Expand Down
8 changes: 0 additions & 8 deletions crate_universe/src/utils/starlark.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,6 @@ pub(crate) struct CargoBuildScript {
pub(crate) links: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) pkg_name: Option<String>,
#[serde(skip_serializing_if = "SelectSet::is_empty")]
pub(crate) proc_macro_deps: SelectSet<Label>,
#[serde(skip_serializing_if = "SelectScalar::is_empty")]
pub(crate) rundir: SelectScalar<String>,
#[serde(skip_serializing_if = "SelectDict::is_empty")]
Expand Down Expand Up @@ -153,8 +151,6 @@ pub(crate) struct RustProcMacro {
pub(crate) name: String,
#[serde(skip_serializing_if = "SelectSet::is_empty")]
pub(crate) deps: SelectSet<Label>,
#[serde(skip_serializing_if = "SelectSet::is_empty")]
pub(crate) proc_macro_deps: SelectSet<Label>,
#[serde(skip_serializing_if = "SelectDict::is_empty")]
pub(crate) aliases: SelectDict<Label, String>,
#[serde(flatten)]
Expand All @@ -166,8 +162,6 @@ pub(crate) struct RustLibrary {
pub(crate) name: String,
#[serde(skip_serializing_if = "SelectSet::is_empty")]
pub(crate) deps: SelectSet<Label>,
#[serde(skip_serializing_if = "SelectSet::is_empty")]
pub(crate) proc_macro_deps: SelectSet<Label>,
#[serde(skip_serializing_if = "SelectDict::is_empty")]
pub(crate) aliases: SelectDict<Label, String>,
#[serde(flatten)]
Expand All @@ -181,8 +175,6 @@ pub(crate) struct RustBinary {
pub(crate) name: String,
#[serde(skip_serializing_if = "SelectSet::is_empty")]
pub(crate) deps: SelectSet<Label>,
#[serde(skip_serializing_if = "SelectSet::is_empty")]
pub(crate) proc_macro_deps: SelectSet<Label>,
#[serde(skip_serializing_if = "SelectDict::is_empty")]
pub(crate) aliases: SelectDict<Label, String>,
#[serde(flatten)]
Expand Down
6 changes: 4 additions & 2 deletions crate_universe/tools/cross_installer/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,15 @@ rust_binary(
"@rules_rust//rust/toolchain:current_cargo_files",
],
edition = "2021",
proc_macro_deps = all_crate_deps(proc_macro = True),
rustc_env = {
"CARGO": "$(rlocationpath @rules_rust//rust/toolchain:current_cargo_files)",
"CROSS_BIN": "$(rlocationpath :cross)",
"CROSS_CONFIG_RLOCATION": "$(rlocationpath :Cross.toml)",
},
deps = all_crate_deps(normal = True) + ["@rules_rust//rust/runfiles"],
deps = all_crate_deps(
normal = True,
proc_macro = True,
) + ["@rules_rust//rust/runfiles"],
)

filegroup(
Expand Down
6 changes: 4 additions & 2 deletions crate_universe/tools/urls_generator/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ rust_binary(
"//crate_universe/private:urls.bzl",
],
edition = "2021",
proc_macro_deps = all_crate_deps(proc_macro = True),
rustc_env = {
"MODULE_ROOT_PATH": "$(rootpath //crate_universe/private:urls.bzl)",
},
deps = all_crate_deps(normal = True),
deps = all_crate_deps(
normal = True,
proc_macro = True,
),
)
12 changes: 8 additions & 4 deletions examples/crate_universe/cargo_aliases/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,20 @@ rust_library(
srcs = glob(["**/*.rs"]),
aliases = aliases(),
edition = "2018",
proc_macro_deps = all_crate_deps(proc_macro = True),
deps = all_crate_deps(normal = True),
deps = all_crate_deps(
normal = True,
proc_macro = True,
),
)

rust_test(
name = "unit_test",
aliases = aliases(),
crate = ":aliases",
proc_macro_deps = all_crate_deps(proc_macro_dev = True),
deps = all_crate_deps(normal_dev = True),
deps = all_crate_deps(
normal_dev = True,
proc_macro_dev = True,
),
)

# Ensures that Bazel aliases from the crates_repository are actually usable.
Expand Down
6 changes: 4 additions & 2 deletions extensions/wasm_bindgen/private/wasm_bindgen_test.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ load(
"find_toolchain",
"generate_output_diagnostics",
"get_import_macro_deps",
"partition_deps",
"transform_deps",
"transform_sources",
)
Expand Down Expand Up @@ -67,8 +68,9 @@ def _rust_wasm_bindgen_test_impl(ctx):
toolchain = find_toolchain(ctx)

crate_type = "bin"
deps = transform_deps(ctx.attr.deps + [wb_toolchain.wasm_bindgen_test])
proc_macro_deps = transform_deps(ctx.attr.proc_macro_deps + get_import_macro_deps(ctx))
deps, proc_macro_deps = partition_deps(ctx)
deps = transform_deps(deps + [wb_toolchain.wasm_bindgen_test])
proc_macro_deps = transform_deps(proc_macro_deps + get_import_macro_deps(ctx))

# Target is building the crate in `test` config
if WasmBindgenTestCrateInfo in ctx.attr.wasm:
Expand Down
5 changes: 4 additions & 1 deletion rust/defs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ load(
_rust_binary = "rust_binary",
_rust_library = "rust_library",
_rust_library_group = "rust_library_group",
_rust_proc_macro = "rust_proc_macro",
_rust_shared_library = "rust_shared_library",
_rust_static_library = "rust_static_library",
_rust_test = "rust_test",
Expand All @@ -46,6 +45,10 @@ load(
"//rust/private:rust_analyzer.bzl",
_rust_analyzer_aspect = "rust_analyzer_aspect",
)
load(
"//rust/private:rust_proc_macro.bzl",
_rust_proc_macro = "rust_proc_macro_macro",
)
load(
"//rust/private:rustc.bzl",
_error_format = "error_format",
Expand Down
2 changes: 1 addition & 1 deletion rust/private/clippy.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ def _clippy_aspect_impl(target, ctx):
out_dir = out_dir,
build_env_files = build_env_files,
build_flags_files = build_flags_files,
emit = ["dep-info", "metadata"],
emit = ["metadata"],
skip_expanding_rustc_env = True,
use_json_output = bool(clippy_diagnostics),
error_format = error_format,
Expand Down
Loading