Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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. |
| OLD | NEW |