-
Notifications
You must be signed in to change notification settings - Fork 380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
language: add BaseLang #1303
language: add BaseLang #1303
Conversation
17454da
to
2168e1b
Compare
Demonstrated using the |
2168e1b
to
8c4a50e
Compare
In order to help folks extend Gazelle quicker and easier, provide a base implementation of the language.Language interface where everything is no-ops. End users then can simply compose their downstream struct with this to have a valid implementation to iterate upon.
8c4a50e
to
177f92e
Compare
I can say that I would have found this useful back when I worked on my first Gazelle extension. @linzhp Do you have any concerns? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't break anything
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bazel_gazelle](https://togithub.com/bazelbuild/bazel-gazelle) | http_archive | minor | `v0.26.0` -> `v0.29.0` | --- ### Release Notes <details> <summary>bazelbuild/bazel-gazelle</summary> ### [`v0.29.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.29.0) [Compare Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.28.0...v0.29.0) #### What's Changed - bzlmod: Update Publish to BCR app config by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1363](https://togithub.com/bazelbuild/bazel-gazelle/pull/1363) - Fix: Skip default_visibility extension logic if no BUILD.bazel file present by [@​dnathe4th](https://togithub.com/dnathe4th) in [https://github.com/bazelbuild/bazel-gazelle/pull/1364](https://togithub.com/bazelbuild/bazel-gazelle/pull/1364) - fix updateStmt makeslice panic by [@​pcj](https://togithub.com/pcj) in [https://github.com/bazelbuild/bazel-gazelle/pull/1371](https://togithub.com/bazelbuild/bazel-gazelle/pull/1371) - bzlmod: Add missing `strip_prefix` field to `source.template.json` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1375](https://togithub.com/bazelbuild/bazel-gazelle/pull/1375) - feat: support common test args in `gazelle_generation_test` by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1377](https://togithub.com/bazelbuild/bazel-gazelle/pull/1377) - Make the new facts pacakge public by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/bazel-gazelle/pull/1378](https://togithub.com/bazelbuild/bazel-gazelle/pull/1378) - fix: add timeout message for `gazelle_generation_test` by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1383](https://togithub.com/bazelbuild/bazel-gazelle/pull/1383) - bzlmod: Add missing repository metadata by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1387](https://togithub.com/bazelbuild/bazel-gazelle/pull/1387) - Replace `cfg = "host"` with `cfg = "exec"` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1395](https://togithub.com/bazelbuild/bazel-gazelle/pull/1395) - upgrade rules_go to 0.37.0 by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/bazel-gazelle/pull/1386](https://togithub.com/bazelbuild/bazel-gazelle/pull/1386) - Fix embed on windows by [@​st3veV](https://togithub.com/st3veV) in [https://github.com/bazelbuild/bazel-gazelle/pull/1361](https://togithub.com/bazelbuild/bazel-gazelle/pull/1361) - Update bazel-skylib to 1.3.0. by [@​benjaminp](https://togithub.com/benjaminp) in [https://github.com/bazelbuild/bazel-gazelle/pull/1367](https://togithub.com/bazelbuild/bazel-gazelle/pull/1367) - Fix Directives anchor by [@​jmthvt](https://togithub.com/jmthvt) in [https://github.com/bazelbuild/bazel-gazelle/pull/1353](https://togithub.com/bazelbuild/bazel-gazelle/pull/1353) - Use `patch` from `@bazel_tools//tools/build_defs/repo` by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1381](https://togithub.com/bazelbuild/bazel-gazelle/pull/1381) - Add link to BenchSci's rules_nodejs_gazelle extension by [@​ColinHeathman](https://togithub.com/ColinHeathman) in [https://github.com/bazelbuild/bazel-gazelle/pull/1369](https://togithub.com/bazelbuild/bazel-gazelle/pull/1369) - bzlmod: Skip Go modules available as Bazel modules by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1403](https://togithub.com/bazelbuild/bazel-gazelle/pull/1403) - repo: opportunistically populate RemoteCache from go.mod by [@​jayconrod](https://togithub.com/jayconrod) in [https://github.com/bazelbuild/bazel-gazelle/pull/1396](https://togithub.com/bazelbuild/bazel-gazelle/pull/1396) - Fix Gazelle with `--incompatible_disallow_empty_glob` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1405](https://togithub.com/bazelbuild/bazel-gazelle/pull/1405) - chore: remove experimental warning from bzlmod module by [@​alexeagle](https://togithub.com/alexeagle) in [https://github.com/bazelbuild/bazel-gazelle/pull/1406](https://togithub.com/bazelbuild/bazel-gazelle/pull/1406) - chore: add Swift extension to language list by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1412](https://togithub.com/bazelbuild/bazel-gazelle/pull/1412) - Update everything for release prep, add releaser tool by [@​dnathe4th](https://togithub.com/dnathe4th) in [https://github.com/bazelbuild/bazel-gazelle/pull/1373](https://togithub.com/bazelbuild/bazel-gazelle/pull/1373) - adding go version and std_package_list to releaser by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/bazel-gazelle/pull/1415](https://togithub.com/bazelbuild/bazel-gazelle/pull/1415) #### New Contributors - [@​damingerdai](https://togithub.com/damingerdai) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1362](https://togithub.com/bazelbuild/bazel-gazelle/pull/1362) - [@​st3veV](https://togithub.com/st3veV) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1361](https://togithub.com/bazelbuild/bazel-gazelle/pull/1361) - [@​benjaminp](https://togithub.com/benjaminp) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1367](https://togithub.com/bazelbuild/bazel-gazelle/pull/1367) - [@​jmthvt](https://togithub.com/jmthvt) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1353](https://togithub.com/bazelbuild/bazel-gazelle/pull/1353) - [@​ColinHeathman](https://togithub.com/ColinHeathman) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1369](https://togithub.com/bazelbuild/bazel-gazelle/pull/1369) **Full Changelog**: bazel-contrib/bazel-gazelle@v0.28.0...v0.29.0 ### [`v0.28.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.28.0) [Compare Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.27.0...v0.28.0) #### What's Changed - language/proto: gen_known_imports creates structs instead of function calls by [@​eric-skydio](https://togithub.com/eric-skydio) in [https://github.com/bazelbuild/bazel-gazelle/pull/1333](https://togithub.com/bazelbuild/bazel-gazelle/pull/1333) - Add DoneGeneratingRules language hook by [@​illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1325](https://togithub.com/bazelbuild/bazel-gazelle/pull/1325) - Allow configuring timeout of generation tests by [@​illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1324](https://togithub.com/bazelbuild/bazel-gazelle/pull/1324) - bug: Allow user-specified tags on gazelle rule by [@​Helcaraxan](https://togithub.com/Helcaraxan) in [https://github.com/bazelbuild/bazel-gazelle/pull/1308](https://togithub.com/bazelbuild/bazel-gazelle/pull/1308) - Replace \_get_auth with Bazel's read_user_netrc by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/bazel-gazelle/pull/1338](https://togithub.com/bazelbuild/bazel-gazelle/pull/1338) - language/go should consider default_visibility set by OtherGen ([#​783](https://togithub.com/bazelbuild/bazel-gazelle/issues/783)) by [@​dnathe4th](https://togithub.com/dnathe4th) in [https://github.com/bazelbuild/bazel-gazelle/pull/1341](https://togithub.com/bazelbuild/bazel-gazelle/pull/1341) - fix: pass `visibility` attribute for `gazelle` macro to resulting `sh_binary` by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1340](https://togithub.com/bazelbuild/bazel-gazelle/pull/1340) - Add additional bzlmod requirements to allow grpc protobufs to work by [@​shs96c](https://togithub.com/shs96c) in [https://github.com/bazelbuild/bazel-gazelle/pull/1345](https://togithub.com/bazelbuild/bazel-gazelle/pull/1345) - bzlmod: Simplify go_grpc_library support by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1346](https://togithub.com/bazelbuild/bazel-gazelle/pull/1346) - bzlmod: Add support for custom `go_proto_library` compilers by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1348](https://togithub.com/bazelbuild/bazel-gazelle/pull/1348) - Add visibility extension to support recursive default_visibility ([#​783](https://togithub.com/bazelbuild/bazel-gazelle/issues/783)) by [@​dnathe4th](https://togithub.com/dnathe4th) in [https://github.com/bazelbuild/bazel-gazelle/pull/1343](https://togithub.com/bazelbuild/bazel-gazelle/pull/1343) - Make `gazelle_generation_test` respect out suffix when generating golden files by [@​blorente](https://togithub.com/blorente) in [https://github.com/bazelbuild/bazel-gazelle/pull/1352](https://togithub.com/bazelbuild/bazel-gazelle/pull/1352) - Add size argument to `gazelle_generation_test` by [@​charlesoconor](https://togithub.com/charlesoconor) in [https://github.com/bazelbuild/bazel-gazelle/pull/1351](https://togithub.com/bazelbuild/bazel-gazelle/pull/1351) #### New Contributors - [@​eric-skydio](https://togithub.com/eric-skydio) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1333](https://togithub.com/bazelbuild/bazel-gazelle/pull/1333) - [@​dnathe4th](https://togithub.com/dnathe4th) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1341](https://togithub.com/bazelbuild/bazel-gazelle/pull/1341) - [@​cgrindel](https://togithub.com/cgrindel) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1340](https://togithub.com/bazelbuild/bazel-gazelle/pull/1340) - [@​shs96c](https://togithub.com/shs96c) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1345](https://togithub.com/bazelbuild/bazel-gazelle/pull/1345) - [@​blorente](https://togithub.com/blorente) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1352](https://togithub.com/bazelbuild/bazel-gazelle/pull/1352) - [@​charlesoconor](https://togithub.com/charlesoconor) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1351](https://togithub.com/bazelbuild/bazel-gazelle/pull/1351) **Full Changelog**: bazel-contrib/bazel-gazelle@v0.27.0...v0.28.0 ### [`v0.27.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.27.0) [Compare Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.26.0...v0.27.0) #### What's Changed - Use repo-relative labels everywhere by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1294](https://togithub.com/bazelbuild/bazel-gazelle/pull/1294) - Fix RST URL errors for rules_jvm by [@​qaisjp](https://togithub.com/qaisjp) in [https://github.com/bazelbuild/bazel-gazelle/pull/1296](https://togithub.com/bazelbuild/bazel-gazelle/pull/1296) - bzlmod prototype by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1266](https://togithub.com/bazelbuild/bazel-gazelle/pull/1266) - bzlmod: Do not create a repository with an invalid name by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1304](https://togithub.com/bazelbuild/bazel-gazelle/pull/1304) - language/go: Add support for //go:build tags by [@​thempatel](https://togithub.com/thempatel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1243](https://togithub.com/bazelbuild/bazel-gazelle/pull/1243) - Unwrap `go list -m -json` errors correctly by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1301](https://togithub.com/bazelbuild/bazel-gazelle/pull/1301) - Make one more label repo-relative by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1297](https://togithub.com/bazelbuild/bazel-gazelle/pull/1297) - bzlmod: Add go_deps.from_file by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1300](https://togithub.com/bazelbuild/bazel-gazelle/pull/1300) - language: add BaseLang by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1303](https://togithub.com/bazelbuild/bazel-gazelle/pull/1303) - Allow adding arguments to Rules by [@​illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1310](https://togithub.com/bazelbuild/bazel-gazelle/pull/1310) - Register and parse flags before calling Kinds/Loads by [@​illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1318](https://togithub.com/bazelbuild/bazel-gazelle/pull/1318) - SortMacro() should also sort the Loads by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1321](https://togithub.com/bazelbuild/bazel-gazelle/pull/1321) - bzlmod: Fix canonical label literal after Bazel change by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1322](https://togithub.com/bazelbuild/bazel-gazelle/pull/1322) - update-repos: don't add repositories declared with gazelle:repository… by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1326](https://togithub.com/bazelbuild/bazel-gazelle/pull/1326) - Look in call args for loadable symbols by [@​illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1317](https://togithub.com/bazelbuild/bazel-gazelle/pull/1317) - SortMacro() should also sort rules by Kind() by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1327](https://togithub.com/bazelbuild/bazel-gazelle/pull/1327) - bzlmod: Fix missing .format in go_deps by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1330](https://togithub.com/bazelbuild/bazel-gazelle/pull/1330) - bzlmod: Depend on rules_proto by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1331](https://togithub.com/bazelbuild/bazel-gazelle/pull/1331) #### New Contributors - [@​qaisjp](https://togithub.com/qaisjp) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1296](https://togithub.com/bazelbuild/bazel-gazelle/pull/1296) **Full Changelog**: bazel-contrib/bazel-gazelle@v0.26.0...v0.27.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/kreempuff/rules_unreal_engine). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTcuMSIsInVwZGF0ZWRJblZlciI6IjM0LjExNy4xIn0=-->
In order to help folks extend Gazelle quicker and easier, provide a base
implementation of the language.Language interface where everything is
no-ops.
End users then can simply compose their downstream struct with this
to have a valid implementation to iterate upon.