[bazel] workspace_utils.py: Fixed missing tracked files

The generate_fuchsia_workspace() function returned a set of
file paths that was missing a number of important input files
that are read by the function. As a consequence modifying any
of them would not properly trigger a regenerator invocation
on the next `fx bazel` or `fx build` call:

- build/bazel/templates/template.bazelrc
- build/bazel/templates/template.bazel.sh
- build/bazel/templates/template.platform.mapping

This fixes the issue by:

- Adding a `read_text_file()` function and `input_files`
  property to the GeneratedWorkspaceFiles class.

- Using them to read input files in record_fuchsia_workspace()

- Add the content of generated.input_files in the result
  of generate_fuchsia_workspace().

Manual comparison of the `build.ninja.d` file generated before
and after the CL confirms that the missing input files are
now properly listed in that file.

Change-Id: Ifd05f1ba4802c6dd34367a5094d52f690b09d3dd
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1227466
Reviewed-by: Aaron Wood <aaronwood@google.com>
Commit-Queue: David Turner <digit@google.com>
2 files changed
tree: 3cab2d0b1fb59d43402c6ed4d3322c7ba7f42760
  1. .helix/
  2. boards/
  3. build/
  4. bundles/
  5. docs/
  6. examples/
  7. infra/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .editorconfig
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gitmodules
  22. .gn
  23. .ignore
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyproject.toml
  34. pyrightconfig.json
  35. README.md
  36. rustfmt.toml
  37. shac.star
  38. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.