[roll] Roll fuchsia [bazel] Generate debug symbols directly during the first `bazel build`.

Remove the extra `bazel build` invocation from bazel_action.py which
was required to generate debug symbols and extract manifest paths.

Instead, the main build command is now in charge of running the
aspect that generates debug symbol manifests and the artifacts
they reference.

This requires parsing the Bazel stderr lines that corresponding
to the print() statement invoked by the aspect during the build,
which end up in lines that look like:

DEBUG: <path>:<line>:<column>: DEBUG_SYMBOL_MANIFEST_PATH=<manifest_path>

The recently introduced BazelStderrDebugLineFilter class is used
to extract all <manifest_path> values from stderr, while removing
the whole DEBUG line from the output visible to users, when
running in interactive terminals.

Measurements show that this saves between 1 and 5 seconds when
building bazel_action() targets such as
//build/bazel/host:bazel_root_targets or
//products/minimal:product_bundle.vim3_bazel_build_group,
though exact numbers seem to vary a lot between different
runs (clean or no clean build, with or without RBE)

NO_IFTTT=Moving around definition in one file, no need to change the other

Original-Fixed: 452591388
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1435595
Original-Revision: 078d2502744ada8534c912eba724818221a5fd88
GitOrigin-RevId: 75a2f3d80c49875b9979d71c4a39e92ae7ff49a7
Change-Id: Ic1c399eaca821d3c0757e3b056bd36fc96c41ce7
1 file changed
tree: b5a6c1170bdd4a032c80ad353dc550bb8add6c95
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.