Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: tools/mb/docs/design_spec.md

Issue 1440173002: Update MB for the new way to run 'analyze'. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: original patch for review Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/mb/mb.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # The MB (Meta-Build wrapper) design spec 1 # The MB (Meta-Build wrapper) design spec
2 2
3 [TOC] 3 [TOC]
4 4
5 ## Intro 5 ## Intro
6 6
7 MB is intended to address two major aspects of the GYP -> GN transition 7 MB is intended to address two major aspects of the GYP -> GN transition
8 for Chromium: 8 for Chromium:
9 9
10 1. "bot toggling" - make it so that we can easily flip a given bot 10 1. "bot toggling" - make it so that we can easily flip a given bot
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 graph at all). We can't tell these two apart, so we should ignore missing 180 graph at all). We can't tell these two apart, so we should ignore missing
181 files. 181 files.
182 182
183 There may be targets listed in the input that don't exist in the build 183 There may be targets listed in the input that don't exist in the build
184 graph; unlike missing files, this can only indicate a configuration error, 184 graph; unlike missing files, this can only indicate a configuration error,
185 and so we should return which targets are missing so the caller can 185 and so we should return which targets are missing so the caller can
186 treat this as an error, if so desired. 186 treat this as an error, if so desired.
187 187
188 Any of the three inputs may be an empty list: 188 Any of the three inputs may be an empty list:
189 189
190 * It doesn't make sense to call analyze at all if no files were modified, 190 * It normally doesn't make sense to call analyze at all if no files
191 so this should probably return an error. 191 were modified, but in rare cases we can hit a race where we try to
192 test a patch after it has already been committed, in which case
193 the list of modified files is empty. We should return 'no dependency'
194 in that case.
Dirk Pranke 2015/11/13 02:14:28 sky@, you might want to double-check that GYP hand
sky 2015/11/13 16:26:49 GYP ends up generating an error in this case. I do
192 195
193 * Passing an empty list for one or the other of test_targets and 196 * Passing an empty list for one or the other of test_targets and
194 additional_compile_targets is perfectly sensible: in the former case, 197 additional_compile_targets is perfectly sensible: in the former case,
195 it can indicate that you don't want to run any tests, and in the latter, 198 it can indicate that you don't want to run any tests, and in the latter,
196 it can indicate that you don't want to do build anything else in 199 it can indicate that you don't want to do build anything else in
197 addition to the test targets. 200 addition to the test targets.
198 201
199 * It doesn't make sense to call analyze if you don't want to compile 202 * It doesn't make sense to call analyze if you don't want to compile
200 anything at all, so passing [] for both test_targets and 203 anything at all, so passing [] for both test_targets and
201 additional_compile_targets should probably return an error. 204 additional_compile_targets should probably return an error.
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 * Some common flags (goma\_dir being the obvious one) may need to be 421 * Some common flags (goma\_dir being the obvious one) may need to be
419 specified via the user, and it's unclear how to integrate this with 422 specified via the user, and it's unclear how to integrate this with
420 the concept of build\_configs. 423 the concept of build\_configs.
421 424
422 Right now, MB has hard-coded support for a few flags (i.e., you can 425 Right now, MB has hard-coded support for a few flags (i.e., you can
423 pass the --goma-dir flag, and it will know to expand "${goma\_dir}" in 426 pass the --goma-dir flag, and it will know to expand "${goma\_dir}" in
424 the string before calling out to the tool. We may want to generalize 427 the string before calling out to the tool. We may want to generalize
425 this to a common key/value approach (perhaps then meeting the 428 this to a common key/value approach (perhaps then meeting the
426 ChromeOS non-goal, above), or we may want to keep this very strictly 429 ChromeOS non-goal, above), or we may want to keep this very strictly
427 limited for simplicity. 430 limited for simplicity.
OLDNEW
« no previous file with comments | « no previous file | tools/mb/mb.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698