tree 5ae9240afdb01ade8b12c8344a55f8a4b0fb28ac
parent 8a6ab72c6ece96cab91e17aaf4fb5339615d1d3d
author Simon Stewart <shs96c@users.noreply.github.com> 1667816738 +0000
committer GitHub <noreply@github.com> 1667816738 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJjaN0iCRBK7hj4Ov3rIwAAFKgIAAAfXgITATMEc3njyivk4kRr
 7JhJAagaJUfpH/5jD/5mmPhXpjhQTejNhbYddzpTiLL9ckKQHj34WM2QkqAgTicz
 Rt7FsW8lUseKfPmYG9EB+ldKhy51P4kvi7X4mJs4VPHAWlMU9r7NTTZoBhMI9asc
 OfdRTnHK12HxzVD5mRBe9YYv7QytMZJbM/vlEymVS5pCOOxGoCalVZCnPRWE/kwT
 G6SFCeRL6hXn2I6ByCs5Q/KSuV3CDUnc8wORK1FHWwa02/03+erc7SqgE9w+QGHg
 lKzQWXWnOX9lun3SMrQJTZpb+hU1S/w9F5ZyYg6gH5mYD7jtOb0pktB1D5ftG2s=
 =wuPY
 -----END PGP SIGNATURE-----
 

Add the gazelle plugin to the distribution (#400)

* Add the gazelle plugin to the distribution

To avoid everyone needing to take a dep on `rules_go`, we
do the following:

1. Regular Bazel users need to load `bazel_skylib_gazelle_plugin_workspace`
   and call that, and then `bazel_skylib_gazelle_plugin_setup`

2. `bzlmod` users need do nothing, but we now include the
   `rules_go` dep in the `MODULE.bazel` shipped in the release.
    This is fine, because `bzlmod` will lazily load
    dependencies.

* Run buildifier

* Add docstring to `gazelle_setup.bzl`

* Move "internal only" marker

* Make @com_github_bazelbuild_buildtools visible in the deployed module

* Respond to review comments

* Move plugin to a nested workspace

* Run buildifier

* Restore the module declaration from `main`

* Bump versions of rules_go and gazelle used in the top-level module to match the ones in gazelle

* Respond to review comments and add gazelle to ignored directories so //... works as expected

* Add missing descriptor for stardoc

* Move gazelle hints into workspace files