0
Files
src/tools/mb
yoshiki iguchi 4de608084b Add testing configuration for preupv builders
Related changes:
- infradata/config change: crrev.com/i/7031632
- infra/config change: crrev.com/i/6869505
- chromium/src change: crrev.com/c/5342816 (this change)

Manually modified files:
- testing/buildbot/waterfalls.pyl
- tools/mb/mb_config.pyl

Automatically updated files:
- by testing/buildbot/generate_buildbot_json.py:
  - testing/buildbot/internal.chromeos.fyi.json
  - testing/buildbot/chrome.json
- by ./tools/mb/mb train
  - tools/mb/mb_config_expectations/internal.chromeos.fyi.json

Bug: b/286503577
Change-Id: I4e6239c970d6a8a22e9574aaecc15254c7effb04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5342816
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Yoshiki Iguchi <yoshiki@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1272521}
2024-03-14 00:33:36 +00:00
..

MB - The Meta-Build wrapper

MB is a simple wrapper around the GN build tool.

It was originally written as part of the GYP->GN migration, in order to provide a uniform interface to either GYP or GN, such that users and bots can call one script and not need to worry about whether a given bot was meant to use GN or GYP.

It eventually grew additional functionality and is now still used even though everything is GN-only.

It supports two main functions:

  1. "gen" - the main gn gen invocation that generates the Ninja files needed for the build.

  2. "analyze" - the step that takes a list of modified files and a list of desired targets and reports which targets will need to be rebuilt.

We also use MB as a forcing function to collect all of the different build configurations that we actually support for Chromium builds into one place, in //tools/mb/mb_config.pyl.

For more information, see: