tree: fb18f6add09438cfc3d46706b30f4458cce39c32 [path history] [tgz]
  1. build_fences.txt
  2. force_clean_if_needed.py
  3. OWNERS
  4. README.md
build/force_clean/README.md

Build force_clean

A “clean build fence” is used to indicate to the build that a particular commit should invalidate incremental builds on either side of the change. fx build and fint build both call force_clean_if_needed.py which will clobber the build if it detects a difference between the set of fences which was used for a particular build and those which are generated by the current checkout.

Adding a new fence

Note: Adding a new fence will clobber any existing existing incremental caches, both on builders and on developer machines. As a result of the widespread impact, new fences must be approved by the build team after investigating other options for making a change.

Append a new line to the build_fences.txt file in this directory, or one under //vendor/*/build/force_clean/build_fences.txt. Empty lines and comment lines (starting with “#”) are ignored. Each valid line should include a bug number and a short explanation as to why it is needed.

For complex cases (e.g. when the fence depends on some conditions like the host operating system), it is possible to use get_fences.py script instead of a file. The script will be launched and should print to stdout the content of its build fences. However, this case is discouraged (its use case originates from Chromium but has never been implemented for Fuchsia).