[roll] Roll fuchsia [build][beads] Support ffx_plugin migration discovery

Update the Bazel migration discovery script to accurately calculate
the complexity of ffx_plugin and ffx_tool targets. Previously, the
script ignored plugin-specific dependency fields and failed to attribute
complex subtargets to their parent plugins, resulting in undercounted
complexity scores.

Related small improvements:

- Add extra dependency tracking fields.
- Infer ffx_plugin and ffx_tool target types as Rust.
- Handle GN shorthand target label normalization (e.g. //a/b/c).
- Resolve ffx template subtargets (e.g. _suite, _args, _host_tool)
  back to their parent targets into the complexity graph.
- Add cycle detection to the complexity graph walk.
- Add an --include-migrated CLI flag and dynamically calculate the
  "Migrated?" (YES/NO) CSV column based on 0-complexity targets.

I used the new script to generate this sheet:
https://docs.google.com/spreadsheets/d/14IL8tSolnd2sFuyre1PNdV00sH5OB1tx0HfvHi40ERY

Test: fx build --host //build/beads/scripts:tests

Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1770373
Original-Original-Revision: cdb9f98d5d039d0e5fadc0fab9382949a278c580
GitOrigin-RevId: 655468ba4fd943e53f5ef8fa7e0a2e1b0fc03e7e
Change-Id: If5afc4f29c320934c6063a051d54a6b601c9c77d
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1775013
Cr-Commit-Position: refs/heads/main@{#199983}
1 file changed
tree: b615e9c50f0a6593bafa008d0d777b10eaa7a8f8
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. 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.