@@ -6,7 +6,7 @@ load("@rules_proto//proto:proto_common.bzl", proto_toolchains = "toolchains")
6
6
load ("@rules_rust//rust:defs.bzl" , "rust_analyzer_aspect" , "rust_common" )
7
7
8
8
# buildifier: disable=bzl-visibility
9
- load ("@rules_rust//rust/private:providers.bzl" , "RustAnalyzerGroupInfo" , "RustAnalyzerInfo" )
9
+ load ("@rules_rust//rust/private:providers.bzl" , "CrateGroupInfo" , "CrateInfo" , "DepInfo" , "DepVariantInfo" , " RustAnalyzerGroupInfo" , "RustAnalyzerInfo" )
10
10
11
11
# buildifier: disable=bzl-visibility
12
12
load ("@rules_rust//rust/private:rust.bzl" , "RUSTC_ATTRS" )
@@ -252,13 +252,13 @@ def _rust_prost_aspect_impl(target, ctx):
252
252
for prost_runtime in runtimes :
253
253
if not prost_runtime :
254
254
continue
255
- if rust_common . crate_group_info in prost_runtime :
256
- crate_group_info = prost_runtime [rust_common . crate_group_info ]
257
- runtime_deps .extend (crate_group_info .dep_variant_infos . to_list () )
255
+ if CrateGroupInfo in prost_runtime :
256
+ crate_group_info = prost_runtime [CrateGroupInfo ]
257
+ runtime_deps .extend (crate_group_info .dep_variant_infos )
258
258
else :
259
- runtime_deps .append (rust_common . dep_variant_info (
260
- crate_info = prost_runtime [rust_common . crate_info ] if rust_common . crate_info in prost_runtime else None ,
261
- dep_info = prost_runtime [rust_common . dep_info ] if rust_common . dep_info in prost_runtime else None ,
259
+ runtime_deps .append (DepVariantInfo (
260
+ crate_info = prost_runtime [CrateInfo ] if CrateInfo in prost_runtime else None ,
261
+ dep_info = prost_runtime [DepInfo ] if DepInfo in prost_runtime else None ,
262
262
cc_info = prost_runtime [CcInfo ] if CcInfo in prost_runtime else None ,
263
263
build_info = None ,
264
264
))
@@ -269,26 +269,24 @@ def _rust_prost_aspect_impl(target, ctx):
269
269
270
270
proto_deps = getattr (ctx .rule .attr , "deps" , [])
271
271
272
- direct_deps = []
273
- transitive_deps = [depset ( runtime_deps ) ]
272
+ direct_deps = list ( runtime_deps )
273
+ transitive_deps = []
274
274
for proto_dep in proto_deps :
275
275
proto_info = proto_dep [ProstProtoInfo ]
276
276
277
277
direct_deps .append (proto_info .dep_variant_info )
278
- transitive_deps .append (depset (
279
- [proto_info .dep_variant_info ],
280
- transitive = [proto_info .transitive_dep_infos ],
281
- ))
278
+ transitive_deps .append (proto_info .transitive_dep_infos )
282
279
283
280
if RustAnalyzerInfo in proto_dep :
284
281
rust_analyzer_deps .append (proto_dep [RustAnalyzerInfo ])
285
282
286
- transform_infos = []
287
- for data_target in getattr (ctx .rule .attr , "data" , []):
288
- if ProstTransformInfo in data_target :
289
- transform_infos .append (data_target [ProstTransformInfo ])
283
+ transform_infos = [
284
+ data_target [ProstTransformInfo ]
285
+ for data_target in getattr (ctx .rule .attr , "data" , [])
286
+ if ProstTransformInfo in data_target
287
+ ]
290
288
291
- rust_deps = runtime_deps + direct_deps
289
+ rust_deps = list ( direct_deps )
292
290
crate_name_overrides = []
293
291
for transform_info in transform_infos :
294
292
rust_deps .extend (transform_info .deps )
@@ -352,7 +350,7 @@ def _rust_prost_aspect_impl(target, ctx):
352
350
return [
353
351
ProstProtoInfo (
354
352
dep_variant_info = dep_variant_info ,
355
- transitive_dep_infos = depset (transitive = transitive_deps ),
353
+ transitive_dep_infos = depset (direct_deps , transitive = transitive_deps ),
356
354
package_info = package_info_file ,
357
355
),
358
356
rust_analyzer_info ,
@@ -408,18 +406,14 @@ def _rust_prost_library_impl(ctx):
408
406
409
407
prost_toolchain = ctx .toolchains [TOOLCHAIN_TYPE ]
410
408
411
- transitive = []
409
+ dep_variant_infos = [dep_variant_info ]
410
+
412
411
if prost_toolchain .include_transitive_deps :
413
- transitive = [rust_proto_info .transitive_dep_infos ]
412
+ dep_variant_infos = depset ( dep_variant_infos , transitive = [rust_proto_info .transitive_dep_infos ]). to_list ()
414
413
415
414
return [
416
415
DefaultInfo (files = depset ([dep_variant_info .crate_info .output ])),
417
- rust_common .crate_group_info (
418
- dep_variant_infos = depset (
419
- [dep_variant_info ],
420
- transitive = transitive ,
421
- ),
422
- ),
416
+ CrateGroupInfo (dep_variant_infos = dep_variant_infos ),
423
417
OutputGroupInfo (
424
418
rust_generated_srcs = rust_generated_srcs ,
425
419
proto_descriptor_set = proto_descriptor_set ,
0 commit comments