
In some infra builds, we have observed an empty manifest.json file. This is unexpected, and it's unclear where the empty file stems from. It's potentially a problem during checkout, but could also be incorrect cleanup in between infrastructure runs. Regardless, we can guard against the condition and gracefully recover when this happens. This will cause a wipe of the SDK directory and refetch, which is the correct way to recover from an unknown SDK checkout state. Change-Id: I9bf89840039cdded5f82b83c4900d2fc032833b2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6178605 Reviewed-by: David Song <wintermelons@google.com> Reviewed-by: Zijie He <zijiehe@google.com> Commit-Queue: Aaron Knobloch <aknobloch@google.com> Cr-Commit-Position: refs/heads/main@{#1407642}
About
//build
contains:
- Core GN templates and configuration
- Core Python build scripts
Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium,
v8, etc), it should be kept as self-contained as possible by not referring
to files outside of it. Some exceptions exist (//testing
, select
//third_party
subdirectories), but new dependencies tend to break these other
projects, and so should be avoided.
Changes to //build
should be landed in the Chromium repo. They will then be
replicated to the stand-alone build repo
by the gsubtreed tool.
Note: You can find all directories already available through gsubtreed in the
list of all chromium repos.
Contents
//build/config
- Common templates via.gni
files.//build/toolchain
- GN toolchain definitions.Other .py files
- Some are used by GN/Ninja. Some by gclient hooks, some are just random utilities.
Files referenced by //.gn
:
//build/BUILDCONFIG.gn
- Included by allBUILD.gn
files.//build/secondary
- An overlay forBUILD.gn
files. Enables addingBUILD.gn
to directories that live in sub-repositories.//build_overrides
- Refer to //build_overrides/README.md.