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

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

Issue 1411183010: Make MB aware of iOS bot configs and get iOS working. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add passthrough mode to MB, move MB configuration into //ios files 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
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 28 matching lines...) Expand all
39 ### Configurations 39 ### Configurations
40 40
41 `mb` looks in the `//tools/mb/mb_config.pyl` config file to determine whether 41 `mb` looks in the `//tools/mb/mb_config.pyl` config file to determine whether
42 to use GYP or GN for a particular build directory, and what set of flags 42 to use GYP or GN for a particular build directory, and what set of flags
43 (`GYP_DEFINES` or `gn args`) to use. 43 (`GYP_DEFINES` or `gn args`) to use.
44 44
45 A config can either be specified directly (useful for testing) or by specifying 45 A config can either be specified directly (useful for testing) or by specifying
46 the master name and builder name (useful on the bots so that they do not need 46 the master name and builder name (useful on the bots so that they do not need
47 to specify a config directly and can be hidden from the details). 47 to specify a config directly and can be hidden from the details).
48 48
49 MB can also be configured to take the list of GYP_DEFINES and gn args from
50 the caller if necessary, using the "passthrough" mode.
51
49 See the [user guide](user_guide.md#mb_config.pyl) for details. 52 See the [user guide](user_guide.md#mb_config.pyl) for details.
50 53
51 ### Handling the analyze step 54 ### Handling the analyze step
52 55
53 The interface to `mb analyze` is described in the 56 The interface to `mb analyze` is described in the
54 [user\_guide](user_guide.md#mb_analyze). 57 [user\_guide](user_guide.md#mb_analyze).
55 58
56 Since the interface basically mirrors the way the "analyze" step on the bots 59 Since the interface basically mirrors the way the "analyze" step on the bots
57 invokes gyp\_chromium today, when the config is found to be a gyp config, 60 invokes gyp\_chromium today, when the config is found to be a gyp config,
58 the arguments are passed straight through. 61 the arguments are passed straight through.
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 * Some common flags (goma\_dir being the obvious one) may need to be 153 * Some common flags (goma\_dir being the obvious one) may need to be
151 specified via the user, and it's unclear how to integrate this with 154 specified via the user, and it's unclear how to integrate this with
152 the concept of build\_configs. 155 the concept of build\_configs.
153 156
154 Right now, MB has hard-coded support for a few flags (i.e., you can 157 Right now, MB has hard-coded support for a few flags (i.e., you can
155 pass the --goma-dir flag, and it will know to expand "${goma\_dir}" in 158 pass the --goma-dir flag, and it will know to expand "${goma\_dir}" in
156 the string before calling out to the tool. We may want to generalize 159 the string before calling out to the tool. We may want to generalize
157 this to a common key/value approach (perhaps then meeting the 160 this to a common key/value approach (perhaps then meeting the
158 ChromeOS non-goal, above), or we may want to keep this very strictly 161 ChromeOS non-goal, above), or we may want to keep this very strictly
159 limited for simplicity. 162 limited for simplicity.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698