diff options
author | Simon Glass <sjg@chromium.org> | 2017-01-23 12:38:56 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2017-02-08 13:12:16 (GMT) |
commit | 8d7523c55c2c4000af15dfcba658eef35cc14302 (patch) | |
tree | cb5560e3d1daf5f59bd677ea37b244d169dfd5c5 /tools | |
parent | 147f785f6737a900d82acd0297a82399f9cba006 (diff) | |
download | u-boot-8d7523c55c2c4000af15dfcba658eef35cc14302.tar.xz |
buildman: Allow showing the list of boards with -n
As well as showing the number of boards, allow showing the actual list of
boards that would be built, if -v is provided.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/buildman/README | 2 | ||||
-rw-r--r-- | tools/buildman/board.py | 10 | ||||
-rw-r--r-- | tools/buildman/control.py | 19 |
3 files changed, 17 insertions, 14 deletions
diff --git a/tools/buildman/README b/tools/buildman/README index ccea13f..f665276 100644 --- a/tools/buildman/README +++ b/tools/buildman/README @@ -141,7 +141,7 @@ means to build all arm boards except nvidia, freescale and anything ending with 'ball'. It is convenient to use the -n option to see what will be built based on -the subset given. +the subset given. Use -v as well to get an actual list of boards. Buildman does not store intermediate object files. It optionally copies the binary output into a directory when a build is successful. Size diff --git a/tools/buildman/board.py b/tools/buildman/board.py index ae0e0b8..f842d3a 100644 --- a/tools/buildman/board.py +++ b/tools/buildman/board.py @@ -249,15 +249,15 @@ class Boards: exclude: List of boards to exclude, regardless of 'args' Returns: - Dictionary which holds the number of boards which were selected + Dictionary which holds the list of boards which were selected due to each argument, arranged by argument. """ result = {} terms = self._BuildTerms(args) - result['all'] = 0 + result['all'] = [] for term in terms: - result[str(term)] = 0 + result[str(term)] = [] exclude_list = [] for expr in exclude: @@ -285,7 +285,7 @@ class Boards: if build_it: board.build_it = True if matching_term: - result[matching_term] += 1 - result['all'] += 1 + result[matching_term].append(board.target) + result['all'].append(board.target) return result diff --git a/tools/buildman/control.py b/tools/buildman/control.py index 545c2cb..73b1a14 100644 --- a/tools/buildman/control.py +++ b/tools/buildman/control.py @@ -48,9 +48,9 @@ def ShowActions(series, why_selected, boards_selected, builder, options): Args: series: Series object why_selected: Dictionary where each key is a buildman argument - provided by the user, and the value is the boards brought - in by that argument. For example, 'arm' might bring in - 400 boards, so in this case the key would be 'arm' and + provided by the user, and the value is the list of boards + brought in by that argument. For example, 'arm' might bring + in 400 boards, so in this case the key would be 'arm' and the value would be a list of board names. boards_selected: Dict of selected boards, key is target name, value is Board object @@ -75,9 +75,11 @@ def ShowActions(series, why_selected, boards_selected, builder, options): print for arg in why_selected: if arg != 'all': - print arg, ': %d boards' % why_selected[arg] + print arg, ': %d boards' % len(why_selected[arg]) + if options.verbose: + print ' %s' % ' '.join(why_selected[arg]) print ('Total boards to build for each commit: %d\n' % - why_selected['all']) + len(why_selected['all'])) def DoBuildman(options, args, toolchains=None, make_func=None, boards=None, clean_dir=False): @@ -221,9 +223,10 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None, options.git_dir, count, series=None, allow_overwrite=True) else: series = None - options.verbose = True - if not options.summary: - options.show_errors = True + if not options.dry_run: + options.verbose = True + if not options.summary: + options.show_errors = True # By default we have one thread per CPU. But if there are not enough jobs # we can have fewer threads and use a high '-j' value for make. |