tree ae0972febd1481702ffd6aa3ea9bf50fc61f2edb
parent 92826003d1be9071d6209b43338aa41abd0d56fa
author David Zbarsky <dzbarsky@gmail.com> 1782236175 -0400
committer GitHub <noreply@github.com> 1782236175 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqOsQPCRC1aQ7uu5UhlAAAntEQAJS4sk/Bg+UgY+F/U32bLPVx
 lGid4MXTvf4ETlGwCNfMOhEND9H1pXOfxrzvuz5od7aRxNKRPNXal7zmG7+ir/xf
 1Avm8mPq8jogII5NSkETLZjkQ8zWAnYeprxnL4Bw3l2Ww3gyaX1MjVPxpyHrVPf5
 aYHcwDHxpuMJsrgmJZlWlIZkeIJ7GVGalW32jXiJNvbZSbdgsjcGiO1o9GpQK+sB
 VOo1kls0A8dBucICSWzRn9ZTx36BnbNYGF/tdGy24K9sh3rDGMLl1m/99hH8Prmk
 KLjyjnV2o/tJYsHp/D7P73ZWXp+iWoG7mGxW1ZBFmqIYQ81I2QhUIcEP1Wi3Lygd
 e72v+6JYR8obqVpLhgJX+0omPU2adSTMzXHTLKn02QJve+W3azcIO0bO3JRvp5uB
 R4wHB/MWE3uGazutIb8h+AtXoXMkCrRa3YMWphjUe116jUTI8KhH/1A2a6dnjCgG
 T+86CT6FaEvpRFItTTXB6sdf967HRLyj9z6NAdK1WV2LMJ9ddzeOtueECyg/mkFa
 EPVBCSxFLRRrmR6s3MVx/H/j4i1Kg81pvme2lsNNiGuyakR0NqqfZTtE6LMP+21F
 Wy8v5W5DoPnqF7p3h+Sml71bdGdzdi6vE1QiG/dxJt0dmmduG4A7I1u2kUER/v5j
 xnRm8EV8T8PAVLoY1SDP
 =3/n3
 -----END PGP SIGNATURE-----
 

Declare GoArchive in rule provider declarations (#4638)

**What type of PR is this?**

Bug fix

**What does this PR do? Why is it needed?**

`go_binary`, `go_library`, and `go_test` return `GoArchive`, but their
rule declarations did not consistently list `GoArchive` in `provides`.
Bazel therefore skipped aspects that use `required_providers =
[GoArchive]` before running the aspect implementation. Declare
`GoArchive` for all three rules and add analysis tests that verify the
aspect runs for each rule.

**Which issues(s) does this PR fix?**

Fixes #4612

**Other notes for review**

Validated with `bazel test --jobs=4 //tests/core/starlark:all` and
`bazel test --jobs=4 //tests:buildifier_test`.