[Concept,22/29] buildman: Split out arch config summary display

Message ID 20260106220403.2915630-23-sjg@u-boot.org
State New
Headers
Series buildman: Clean up builder.py |

Commit Message

Simon Glass Jan. 6, 2026, 10:03 p.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

Extract the 'for arch in arch_list' loop that prints configuration
summaries into _print_arch_config_summary() to reduce complexity.

Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---

 tools/buildman/builder.py | 46 +++++++++++++++++++++++++--------------
 1 file changed, 30 insertions(+), 16 deletions(-)
  

Patch

diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 723d65bc76d..7217cccc687 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -1588,6 +1588,33 @@  class Builder:
                          all_config_minus, all_config_change)
         return '\n'.join(lines)
 
+    def _print_arch_config_summary(self, arch, arch_config_plus,
+                                    arch_config_minus, arch_config_change):
+        """Print configuration summary for a single architecture
+
+        Args:
+            arch (str): Architecture name
+            arch_config_plus (dict): Dict of added configs by arch/filename
+            arch_config_minus (dict): Dict of removed configs by arch/filename
+            arch_config_change (dict): Dict of changed configs by arch/filename
+        """
+        lines = []
+        all_plus = {}
+        all_minus = {}
+        all_change = {}
+        for name in self.config_filenames:
+            all_plus.update(arch_config_plus[arch][name])
+            all_minus.update(arch_config_minus[arch][name])
+            all_change.update(arch_config_change[arch][name])
+            self._add_config(lines, name,
+                             arch_config_plus[arch][name],
+                             arch_config_minus[arch][name],
+                             arch_config_change[arch][name])
+        self._add_config(lines, 'all', all_plus, all_minus, all_change)
+        if lines:
+            tprint(f'{arch}:')
+            self._output_config_info(lines)
+
     def _show_config_changes(self, board_selected, board_dict, config):
         """Show changes in configuration
 
@@ -1636,22 +1663,9 @@  class Builder:
                 lines_by_target[lines] = [target]
 
         for arch in arch_list:
-            lines = []
-            all_plus = {}
-            all_minus = {}
-            all_change = {}
-            for name in self.config_filenames:
-                all_plus.update(arch_config_plus[arch][name])
-                all_minus.update(arch_config_minus[arch][name])
-                all_change.update(arch_config_change[arch][name])
-                self._add_config(lines, name,
-                                 arch_config_plus[arch][name],
-                                 arch_config_minus[arch][name],
-                                 arch_config_change[arch][name])
-            self._add_config(lines, 'all', all_plus, all_minus, all_change)
-            if lines:
-                tprint(f'{arch}:')
-                self._output_config_info(lines)
+            self._print_arch_config_summary(arch, arch_config_plus,
+                                            arch_config_minus,
+                                            arch_config_change)
 
         for lines, targets in lines_by_target.items():
             if not lines: