[roll] Roll fuchsia [bazel_sdk] Change how common definitions are shared between workspaces.

This is the second CL in a series that refactors how the shared
definitions of the Bazel SDK rules and in-tree workspace are used.

This CL changes how `//build/bazel_sdk/bazel_rules_fuchsia/common`
is exposed to the SDK and in-tree Bazel workspaces. This is done to
simplify fuchsia_clang_repository() which can now only create a
single top-level `common` symlink to that directory, as the whole
content under it can be used safely now.

To do so, a new convention is enforced, where any external repository
which wants to use these shared definitions should reference them
through a top-level `common` package/directory.

For `@fuchsia_sdk//common`, this is already the case, as this maps
directly to `//build/bazel_sdk/bazel_rules_fuchsia/common` by
construction.

For `@fuchsia_clang//common`, this is done by creating a simple
symlinks to the same location, which simplifies the
`fuchsia_clang_repository()` rule, which no longer needs to keep
track of the exact set of files to symlink.

For `@fuchsia_sdk_common`, which is only used by the in-tree
build (and the Bazel SDK test suite which runs in-tree), a new
`build/bazel/local_repositories/fuchsia_sdk_common` directory
is created with a single `common` symlink as well.

This setup allows removing the `common_package_prefix` argument
introduced in a previous CL, as now all functions defined in
the common area can assume they can reference other files from
the same set using `//common:<path>` or
`//common/<package>:<path>`.

This simplification will also allow moving more definitions
to the common area in the future. In particular those related
to C++ toolchain definitions.

Original-Bug: 366156651
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1120393
Original-Revision: 7a773525609b4427e4d664d53657db1a3778568f
GitOrigin-RevId: 86fa6176b59182eb4ac903c8f2db69614fe04dac
Change-Id: Ic8b7657fa017144f7c9a6ad5c49c42da20599f12
1 file changed
tree: dfc271d76ba7872a13349fd42daff82a412daaa0
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
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 via the IRC channel #fuchsia on Freenode.

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.