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

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

Issue 1074583002: Testing and bugfixing for the new MB gyp/gn wrapper. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clarify comments Created 5 years, 8 months 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') | tools/mb/mb.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # The MB (Meta-Build wrapper) user guide 1 # The MB (Meta-Build wrapper) user guide
2 2
3 [TOC] 3 [TOC]
4 4
5 ## Introduction 5 ## Introduction
6 6
7 `mb` is a simple python wrapper around the GYP and GN meta-build tools to 7 `mb` is a simple python wrapper around the GYP and GN meta-build tools to
8 be used as part of the GYP->GN migration. 8 be used as part of the GYP->GN migration.
9 9
10 It is intended to be used by bots to make it easier to manage the configuration 10 It is intended to be used by bots to make it easier to manage the configuration
(...skipping 10 matching lines...) Expand all
21 a directory, then runs GYP or GN as appropriate: 21 a directory, then runs GYP or GN as appropriate:
22 22
23 ``` 23 ```
24 % mb gen -m tryserver.chromium.linux -b linux_rel //out/Release 24 % mb gen -m tryserver.chromium.linux -b linux_rel //out/Release
25 % mb gen -c linux_rel_trybot //out/Release 25 % mb gen -c linux_rel_trybot //out/Release
26 ``` 26 ```
27 27
28 Either the `-c/--config` flag or the `-m/--master` and `-b/--builder` flags 28 Either the `-c/--config` flag or the `-m/--master` and `-b/--builder` flags
29 must be specified so that `mb` can figure out which config to use. 29 must be specified so that `mb` can figure out which config to use.
30 30
31 The path must be a GN-style path relative to the checkout root (as above). 31 The path must be a GN-style "source-absolute" path (as above).
32 32
33 If gen ends up using GYP, the path must have a valid GYP configuration as the 33 If gen ends up using GYP, the path must have a valid GYP configuration as the
34 last component of the path (i.e., specify `//out/Release_x64`, not `//out`). 34 last component of the path (i.e., specify `//out/Release_x64`, not `//out`).
35 35
36 ## `mb analyze` 36 ## `mb analyze`
37 37
38 `mb analyze` is reponsible for determining what targets are affected by 38 `mb analyze` is reponsible for determining what targets are affected by
39 a list of files (e.g., the list of files in a patch on a trybot): 39 a list of files (e.g., the list of files in a patch on a trybot):
40 40
41 ``` 41 ```
42 mb analyze -c chromium_linux_rel //out/Release input.json output.json 42 mb analyze -c chromium_linux_rel //out/Release input.json output.json
43 ``` 43 ```
44 44
45 Either the `-c/--config` flag or the `-m/--master` and `-b/--builder` flags 45 Either the `-c/--config` flag or the `-m/--master` and `-b/--builder` flags
46 must be specified so that `mb` can figure out which config to use. 46 must be specified so that `mb` can figure out which config to use.
47 47
48 48
49 The first positional argument is the path to the build directory. 49 The first positional argument must be a GN-style "source-absolute" path
50 to the build directory.
50 51
51 The second positional argument is a path to a JSON file containing a single 52 The second positional argument is a (normal) path to a JSON file containing
52 object with two fields: 53 a single object with two fields:
53 54
54 * `files`: an array of the modified filenames to check (as 55 * `files`: an array of the modified filenames to check (as
55 paths relative to the checkout root). 56 paths relative to the checkout root).
56 * `targets`: an array of the unqualified target names to check. 57 * `targets`: an array of the unqualified target names to check.
57 58
58 The third positional argument is a path where the mb will write the result, 59 The third positional argument is a (normal) path to where mb will write
59 also as a JSON object. This object may contain the following fields: 60 the result, also as a JSON object. This object may contain the following
61 fields:
60 62
61 * `error`: this should only be present if something failed. 63 * `error`: this should only be present if something failed.
62 * `targets`: the subset of the input `targets` that depend on the 64 * `targets`: the subset of the input `targets` that depend on the
63 input `files`. 65 input `files`.
64 * `build_targets`: the minimal subset of targets needed to build all 66 * `build_targets`: the minimal subset of targets needed to build all
65 of `targets` that were affected. 67 of `targets` that were affected.
66 * `status`: one of three strings: 68 * `status`: one of three strings:
67 * `"Found dependency"` (build the `build_targets`) 69 * `"Found dependency"` (build the `build_targets`)
68 * `"No dependency"` (i.e., no build needed) 70 * `"No dependency"` (i.e., no build needed)
69 * `"Found dependency (all)"` (build everything, in which case 71 * `"Found dependency (all)"` (build everything, in which case
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 run than you expect; running `'mb -v'` will print what it's doing and 186 run than you expect; running `'mb -v'` will print what it's doing and
185 run the commands; `'mb -n'` will print what it will do but *not* run 187 run the commands; `'mb -n'` will print what it will do but *not* run
186 the commands. 188 the commands.
187 189
188 If you hit weirder things than that, add some print statements to the 190 If you hit weirder things than that, add some print statements to the
189 python script, send a question to gn-dev@chromium.org, or 191 python script, send a question to gn-dev@chromium.org, or
190 [file a bug](https://crbug.com/new) with the label 192 [file a bug](https://crbug.com/new) with the label
191 'mb' and cc: dpranke@chromium.org. 193 'mb' and cc: dpranke@chromium.org.
192 194
193 195
OLDNEW
« no previous file with comments | « no previous file | tools/mb/mb.py » ('j') | tools/mb/mb.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698