Skip to content

Commit ef67c6c

Browse files
committed
Simplify proc_macro_deps handling
1 parent db4255e commit ef67c6c

9 files changed

Lines changed: 10 additions & 214 deletions

File tree

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ rust_library(
3939
srcs = ["src/lib.rs"],
4040
aliases = aliases(),
4141
deps = all_crate_deps(normal = True),
42-
proc_macro_deps = all_crate_deps(proc_macro = True),
4342
)
4443

4544
rust_binary(

rs/experimental/rules_rust.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ def _rules_rust_impl(mctx):
3131

3232
http_archive(
3333
name = "rules_rust",
34-
integrity = "sha256-V+eBheeZ5dsBLZ6jhs1M9vujO+wjrN1P9IiBRF5GZXg=",
35-
strip_prefix = "rules_rust-7531189d2a78d8740af63035677a1cb097549584",
36-
url = "https://github.com/dzbarsky/rules_rust/archive/7531189d2a78d8740af63035677a1cb097549584.tar.gz",
34+
integrity = "sha256-38JNH7qjz3r/AwXmeWReln+6SdozNP1LlIRzB2U8DqA=",
35+
strip_prefix = "rules_rust-684b22041ad510e07a9405b839d1452438f41ec8",
36+
url = "https://github.com/dzbarsky/rules_rust/archive/684b22041ad510e07a9405b839d1452438f41ec8.tar.gz",
3737
patches = patches,
3838
patch_strip = strip,
3939
)

rs/extensions.bzl

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -770,10 +770,7 @@ def aliases(package_name = None):
770770
def all_crate_deps(
771771
normal = False,
772772
normal_dev = False,
773-
proc_macro = False,
774-
proc_macro_dev = False,
775773
build = False,
776-
build_proc_macro = False,
777774
package_name = None,
778775
cargo_only = False):
779776
@@ -785,10 +782,7 @@ def all_crate_deps(
785782
dep_data,
786783
normal = normal,
787784
normal_dev = normal_dev,
788-
proc_macro = proc_macro,
789-
proc_macro_dev = proc_macro_dev,
790785
build = build,
791-
build_proc_macro = build_proc_macro,
792786
filter_prefix = {this_repo} if cargo_only else None,
793787
)
794788
@@ -1130,9 +1124,6 @@ _annotation = tag_class(
11301124
# "build_script_link_deps": _relative_label_list(
11311125
# doc = "A list of labels to add to a crate's `cargo_build_script::link_deps` attribute.",
11321126
# ),
1133-
# "build_script_proc_macro_deps": _relative_label_list(
1134-
# doc = "A list of labels to add to a crate's `cargo_build_script::proc_macro_deps` attribute.",
1135-
# ),
11361127
# "build_script_rundir": attr.string(
11371128
# doc = "An override for the build script's rundir attribute.",
11381129
# ),
@@ -1213,9 +1204,6 @@ _annotation = tag_class(
12131204
"patches": attr.label_list(
12141205
doc = "The `patches` attribute of a Bazel repository rule. See [http_archive.patches](https://docs.bazel.build/versions/main/repo/http.html#http_archive-patches)",
12151206
),
1216-
# "proc_macro_deps": _relative_label_list(
1217-
# doc = "A list of labels to add to a crate's `rust_library::proc_macro_deps` attribute.",
1218-
# ),
12191207
# "rustc_env": attr.string_dict(
12201208
# doc = "Additional variables to set on a crate's `rust_library::rustc_env` attribute.",
12211209
# ),

rs/private/BUILD.bazel

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ bzl_library(
1010
name = "all_crate_deps",
1111
srcs = ["all_crate_deps.bzl"],
1212
visibility = ["//rs:__subpackages__"],
13-
deps = [":rust_deps"],
13+
deps = [],
1414
)
1515

1616
bzl_library(
@@ -67,17 +67,6 @@ bzl_library(
6767
deps = [":semver"],
6868
)
6969

70-
bzl_library(
71-
name = "rust_deps",
72-
srcs = ["rust_deps.bzl"],
73-
visibility = ["//rs:__subpackages__"],
74-
# keep
75-
deps = [
76-
"@rules_cc//cc/common",
77-
"@rules_rust//rust:bzl_lib",
78-
],
79-
)
80-
8170
bzl_library(
8271
name = "toml2json",
8372
srcs = ["toml2json.bzl"],

rs/private/all_crate_deps.bzl

Lines changed: 3 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,11 @@
1-
load(":rust_deps.bzl", _rust_deps = "rust_deps")
2-
31
def _filter_by_prefix(deps, prefix):
42
return [dep for dep in deps if dep.startswith(prefix)]
53

6-
def rust_deps(name, **kwargs):
7-
if native.existing_rule(name):
8-
fail("""
9-
ERROR: Multiple conflicting uses of `all_crate_deps`. If you are trying to use this macro with
10-
the same args in multiple targets, please try the following pattern:
11-
12-
_DEPS = all_crate_deps()
13-
_PROC_MACRO_DEPS = all_crate_deps(proc_macro = True)
14-
15-
rust_library(
16-
name = "my_lib",
17-
deps = _DEPS,
18-
proc_macro_deps = _PROC_MACRO_DEPS,
19-
...
20-
)
21-
22-
rust_test(
23-
name = "my_test",
24-
deps = [":my_lib"]+ _DEPS,
25-
proc_macro_deps = _PROC_MACRO_DEPS,
26-
...
27-
)""")
28-
29-
_rust_deps(
30-
name = name,
31-
**kwargs
32-
)
33-
344
def all_crate_deps(
355
dep_data,
366
normal = False,
377
normal_dev = False,
38-
proc_macro = False,
39-
proc_macro_dev = False,
408
build = False,
41-
build_proc_macro = False,
429
filter_prefix = None):
4310
to_return = []
4411

@@ -52,48 +19,12 @@ def all_crate_deps(
5219
dev_deps = _filter_by_prefix(dev_deps, filter_prefix)
5320

5421
if normal_dev:
55-
rust_deps(
56-
name = "_dev_deps",
57-
deps = dev_deps,
58-
)
59-
to_return.append("_dev_deps")
60-
61-
if proc_macro:
62-
rust_deps(
63-
name = "_proc_macro_deps",
64-
deps = deps,
65-
proc_macros = True,
66-
)
67-
to_return.append("_proc_macro_deps")
68-
69-
if proc_macro_dev:
70-
rust_deps(
71-
name = "_proc_macro_dev_deps",
72-
deps = dev_deps,
73-
proc_macros = True,
74-
)
75-
to_return.append("_proc_macro_dev_deps")
22+
to_return += dev_deps
7623

7724
if build:
78-
rust_deps(
79-
name = "_build_script_deps",
80-
deps = build_deps,
81-
)
82-
to_return.append("_build_script_deps")
83-
84-
if build_proc_macro:
85-
rust_deps(
86-
name = "_build_script_proc_macro_deps",
87-
deps = build_deps,
88-
proc_macros = True,
89-
)
90-
to_return.append("_build_script_proc_macro_deps")
25+
to_return += build_deps
9126

9227
if normal or not to_return:
93-
rust_deps(
94-
name = "_deps",
95-
deps = deps,
96-
)
97-
to_return.append("_deps")
28+
to_return += deps
9829

9930
return to_return

rs/private/rust_deps.bzl

Lines changed: 0 additions & 75 deletions
This file was deleted.

rs/rust_crate.bzl

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ load("//rs:cargo_build_script.bzl", "cargo_build_script")
33
load("//rs:rust_binary.bzl", "rust_binary")
44
load("//rs:rust_library.bzl", "rust_library")
55
load("//rs:rust_proc_macro.bzl", "rust_proc_macro")
6-
load("//rs/private:rust_deps.bzl", "rust_deps")
76

87
def _platform(triple, use_experimental_platforms):
98
if use_experimental_platforms:
@@ -105,7 +104,7 @@ def rust_crate(
105104
build_script_name = "_bs_" + triple
106105
branches[_platform(triple, use_experimental_platforms)] = build_script_name
107106

108-
_build_script(
107+
cargo_build_script(
109108
name = build_script_name,
110109
crate_features = crate_features + conditional_crate_features.get(triple, []),
111110
**build_script_kwargs
@@ -118,7 +117,7 @@ def rust_crate(
118117
)
119118

120119
else:
121-
_build_script(
120+
cargo_build_script(
122121
name = "_bs",
123122
crate_features = crate_features,
124123
**build_script_kwargs
@@ -128,18 +127,7 @@ def rust_crate(
128127
else:
129128
maybe_build_script = []
130129

131-
rust_deps(
132-
name = name + "_deps",
133-
deps = deps,
134-
)
135-
136-
rust_deps(
137-
name = name + "_proc_macro_deps",
138-
deps = deps,
139-
proc_macros = True,
140-
)
141-
142-
deps = [name + "_deps"] + maybe_build_script
130+
deps = deps + maybe_build_script
143131

144132
kwargs = dict(
145133
name = name,
@@ -150,7 +138,6 @@ def rust_crate(
150138
aliases = aliases,
151139
deps = deps,
152140
data = data,
153-
proc_macro_deps = [name + "_proc_macro_deps"],
154141
crate_features = crate_features + select(
155142
{_platform(k, use_experimental_platforms): v for k, v in conditional_crate_features.items()} |
156143
{"//conditions:default": []},
@@ -189,24 +176,3 @@ def rust_crate(
189176
visibility = ["//visibility:public"],
190177
)
191178

192-
def _build_script(
193-
name,
194-
build_deps,
195-
**kwargs):
196-
rust_deps(
197-
name = name + "_deps",
198-
deps = build_deps,
199-
)
200-
201-
rust_deps(
202-
name = name + "_proc_macro_deps",
203-
deps = build_deps,
204-
proc_macros = True,
205-
)
206-
207-
cargo_build_script(
208-
name = name,
209-
deps = [name + "_deps"],
210-
proc_macro_deps = [name + "_proc_macro_deps"],
211-
**kwargs
212-
)

test/workspace_hyphen_dep_aliases/consumer/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@ rust_test(
77
aliases = aliases(),
88
srcs = ["src/lib.rs"],
99
deps = all_crate_deps(normal = True),
10-
proc_macro_deps = all_crate_deps(proc_macro = True),
1110
)

test/workspace_hyphen_dep_aliases/dep-crate/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ rust_library(
1010
edition = "2024",
1111
aliases = aliases(),
1212
deps = all_crate_deps(normal = True),
13-
proc_macro_deps = all_crate_deps(proc_macro = True),
1413
)

0 commit comments

Comments
 (0)