[bazel] Fix missing @fuchsia_sdk in incremental builds.

In certain conditions, the @fuchsia_sdk repository was not properly
regenerated by Bazel as expected, then Ninja would try to run other
actions that depend on it, such as
//build/bazel/bazel_sdk:bazel_sdk_tests, which would fail horribly
with an error message such as:

```
Build failure: no such package '@@fuchsia_sdk//'....
```

This fixes the issue by using a symlink chain to ensure that
whenever the repository is removed (e.g. after `fx gen`), the
Ninja target will properly run its command to regenerate it,
instead of relying on a stale stamp file.

Bug: 404799660
Change-Id: I2a396474279110c092ea873a2dee0c9c6b3554e5
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1231964
Commit-Queue: David Turner <digit@google.com>
Reviewed-by: David Dorwin <ddorwin@google.com>
Reviewed-by: Aaron Wood <aaronwood@google.com>
2 files changed
tree: b51457d9e0abad0fa86f382aa1bb18697af8efb5
  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.