@@ -629,13 +629,14 @@ def _collect_architecture_components(ctx):
629629
630630 return all_components
631631
632- def _run_validation (ctx , arch_json , static_fbs_files , unit_static_fbs_files ):
632+ def _run_validation (ctx , arch_json , static_fbs_files , dynamic_fbs_files , unit_static_fbs_files ):
633633 """Run the architecture verifier tool against a pre-built JSON file.
634634
635635 Args:
636636 ctx: Rule context
637637 arch_json: The architecture JSON File object (already declared and written)
638638 static_fbs_files: List of static component-diagram FlatBuffer files
639+ dynamic_fbs_files: List of dynamic component-diagram FlatBuffer files
639640 unit_static_fbs_files: List of static class-diagram FlatBuffer files
640641
641642 Returns:
@@ -646,16 +647,20 @@ def _run_validation(ctx, arch_json, static_fbs_files, unit_static_fbs_files):
646647
647648 validation_args = ctx .actions .args ()
648649 validation_args .add ("--architecture-json" , arch_json )
649- validation_args .add_all ("--component-fbs" , static_fbs_files )
650- validation_args .add_all ("--class-fbs" , unit_static_fbs_files )
650+ if static_fbs_files :
651+ validation_args .add_all ("--component-fbs" , static_fbs_files )
652+ if dynamic_fbs_files :
653+ validation_args .add_all ("--sequence-fbs" , dynamic_fbs_files )
654+ if unit_static_fbs_files :
655+ validation_args .add_all ("--class-fbs" , unit_static_fbs_files )
651656 validation_args .add ("--output" , validation_log )
652657 validation_args .add ("--log-level" , get_log_level (ctx ))
653658 if ctx .attr .maturity == "development" :
654659 validation_args .add ("--warn-on-errors" )
655660
656661 # ctx.actions.run will fail the build if validation_cli returns non-zero exit code
657662 ctx .actions .run (
658- inputs = [arch_json ] + static_fbs_files + unit_static_fbs_files ,
663+ inputs = [arch_json ] + static_fbs_files + dynamic_fbs_files + unit_static_fbs_files ,
659664 outputs = [validation_log ],
660665 executable = ctx .executable ._validation_cli ,
661666 arguments = [validation_args ],
@@ -817,9 +822,11 @@ def _dependable_element_index_impl(ctx):
817822 # Collect static FlatBuffers from architectural_design targets (the expected
818823 # static architecture) and verify them against the current architecture.
819824 static_fbs_files = []
825+ dynamic_fbs_files = []
820826 for ad in ctx .attr .architectural_design :
821827 if ArchitecturalDesignInfo in ad :
822828 static_fbs_files .extend (ad [ArchitecturalDesignInfo ].static .to_list ())
829+ dynamic_fbs_files .extend (ad [ArchitecturalDesignInfo ].dynamic .to_list ())
823830
824831 # Collect class-diagram FBS files produced by unit_design targets.
825832 unit_static_fbs_files = []
@@ -828,7 +835,7 @@ def _dependable_element_index_impl(ctx):
828835 unit_static_fbs_files .extend (unit_info .unit_design_static_fbs .to_list ())
829836
830837 # Run validation; build fails automatically on non-zero exit
831- validation_log = _run_validation (ctx , arch_json , static_fbs_files , unit_static_fbs_files )
838+ validation_log = _run_validation (ctx , arch_json , static_fbs_files , dynamic_fbs_files , unit_static_fbs_files )
832839
833840 # Both outputs are included so validation always runs in a default build.
834841 # validation_log is also exposed in the debug output group for explicit access.
0 commit comments