@@ -30,21 +30,23 @@ load("//bazel/rules/rules_score/private:lobster_config.bzl", "format_lobster_sou
3030# Private Helpers
3131# ============================================================================
3232
33- def _collect_analysis_providers (sa , rst_srcs_list , rst_deps_list , lobster_files ):
33+ def _collect_analysis_providers (sa , rst_srcs_list , rst_deps_list , rst_ancillary_list , lobster_files ):
3434 """Collect analysis providers from a single sub-analysis target.
3535
3636 Updates the provided lists/dicts in-place.
3737
3838 Args:
39- sa: A sub-analysis target (fmea or security).
40- rst_srcs_list: List of depsets to extend with SphinxSourcesInfo.srcs.
41- rst_deps_list: List of depsets to extend with SphinxSourcesInfo.deps.
42- lobster_files: Dict to update with AnalysisInfo.lobster_files
43- (canonical name → File).
39+ sa: A sub-analysis target (fmea or security).
40+ rst_srcs_list: List of depsets to extend with SphinxSourcesInfo.srcs.
41+ rst_deps_list: List of depsets to extend with SphinxSourcesInfo.deps.
42+ rst_ancillary_list: List of depsets to extend with SphinxSourcesInfo.ancillary.
43+ lobster_files: Dict to update with AnalysisInfo.lobster_files
44+ (canonical name → File).
4445 """
4546 if SphinxSourcesInfo in sa :
4647 rst_srcs_list .append (sa [SphinxSourcesInfo ].srcs )
4748 rst_deps_list .append (sa [SphinxSourcesInfo ].deps )
49+ rst_ancillary_list .append (sa [SphinxSourcesInfo ].ancillary )
4850 if AnalysisInfo in sa :
4951 lobster_files .update (sa [AnalysisInfo ].lobster_files )
5052
@@ -74,6 +76,7 @@ def _dependability_analysis_impl(ctx):
7476
7577 rst_srcs_transitive = [dfa_rst_files ]
7678 rst_deps_transitive = [dfa_rst_files ]
79+ rst_ancillary_transitive = []
7780 lobster_files = {} # canonical name → File, merged from all sub-analyses
7881
7982 # -------------------------------------------------------------------------
@@ -82,15 +85,15 @@ def _dependability_analysis_impl(ctx):
8285 fmea_output_files = []
8386 for sa in ctx .attr .fmea :
8487 fmea_output_files .append (sa [DefaultInfo ].files )
85- _collect_analysis_providers (sa , rst_srcs_transitive , rst_deps_transitive , lobster_files )
88+ _collect_analysis_providers (sa , rst_srcs_transitive , rst_deps_transitive , rst_ancillary_transitive , lobster_files )
8689
8790 # -------------------------------------------------------------------------
8891 # Collect from security_analysis targets
8992 # -------------------------------------------------------------------------
9093 security_output_files = []
9194 for sa in ctx .attr .security_analysis :
9295 security_output_files .append (sa [DefaultInfo ].files )
93- _collect_analysis_providers (sa , rst_srcs_transitive , rst_deps_transitive , lobster_files )
96+ _collect_analysis_providers (sa , rst_srcs_transitive , rst_deps_transitive , rst_ancillary_transitive , lobster_files )
9497
9598 # Architectural design sphinx deps (optional)
9699 if ctx .attr .arch_design and SphinxSourcesInfo in ctx .attr .arch_design :
@@ -182,6 +185,7 @@ def _dependability_analysis_impl(ctx):
182185 SphinxSourcesInfo (
183186 srcs = all_rst_srcs ,
184187 deps = all_rst_deps ,
188+ ancillary = depset (transitive = rst_ancillary_transitive ),
185189 ),
186190 ]
187191
0 commit comments