[bazel][shac] Expand allowed vendor visibility

Refactor `ALLOWED_VENDOR_TARGET_VISIBILITY_LABELS` and
`ALLOWED_VENDOR_LOAD_VISIBILITY_LABELS` in `visibility_utils.py` to
generate their suffix variations from a single sorted
`_VENDOR_PACKAGES_ALLOWED_IN_FUCHSIA_GIT` tuple.

Expand `_VENDOR_PACKAGES_ALLOWED_IN_FUCHSIA_GIT` to include generic
immediate subdirectories of `//vendor/google/` (`boards`, `bundles`,
`products`, `sdk`, `storage`, and `tools`). All of these paths except
`//vendor/google/sdk` already appear in the repository.

With these paths allowed, no violations remain in the repository, so
remove `allowlists/bazel_vendor_paths.json` and set
`supports_allowlist = False` on `VendorPathsCheck`.

Bug: 565897544
Test: python3 scripts/shac/tests/bazel_lint_test.py
Test: prebuilt/tools/shac/shac test scripts/shac/tests/bazel_test.star
Test: fx test --host //scripts/shac/tests:bazel_lint_test @//scripts/shac/tests:bazel_test
Test: fx host-tool shac check --only bazel_vendor_paths --all
Change-Id: I036ba7ff6a2a8fb449082738b16c9db930b3b3d2
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1923573
Reviewed-by: Oliver Newman <olivernewman@google.com>
Commit-Queue: David Dorwin <ddorwin@google.com>
4 files changed
tree: dde7ffc0105350900a1c0690f6a8cc926626af46
  1. .agents/
  2. .helix/
  3. .mise/
  4. boards/
  5. build/
  6. bundles/
  7. docs/
  8. examples/
  9. manifests/
  10. products/
  11. scripts/
  12. sdk/
  13. src/
  14. third_party/
  15. tools/
  16. zircon/
  17. .clang-format
  18. .clang-tidy
  19. .cursorignore
  20. .dtsfmtrc.toml
  21. .editorconfig
  22. .fx-root
  23. .geminiignore
  24. .git-blame-ignore-revs
  25. .gitattributes
  26. .gitignore
  27. .gitmodules
  28. .gn
  29. .ignore
  30. .watchmanconfig
  31. AGENTS.md
  32. analysis_options.yaml
  33. AUTHORS
  34. BUILD.gn
  35. CODE_OF_CONDUCT.md
  36. CONTRIBUTING.md
  37. fuchsia.code-workspace
  38. LICENSE
  39. OWNERS
  40. PATENTS
  41. pyproject.toml
  42. pyrightconfig.json
  43. README.md
  44. rustfmt.toml
  45. shac.star
  46. shac.textproto
  47. TESTING.json5
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.