-
Notifications
You must be signed in to change notification settings - Fork 379
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
Implement Merger interface #1569
Conversation
4fbb4d5
to
7fb905a
Compare
@linzhp could you please review this? |
bb30234
to
205f211
Compare
I can take a look later this week |
@eric-skydio do you want to take a look? |
Hi, any updates on this? |
205f211
to
40fd48d
Compare
@tyler-french mind taking a look? |
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.
I tested this at Uber and everything works great. I like the implementation.
Doing some performance testing...
40fd48d
to
d56fcd0
Compare
Thanks! I just amended the changes to add your suggestions. Lemme know how perf testing goes :D |
Yep, everything seems good (with no regressions). @fmeum if you want to do a more detailed review. |
This enables users to implement `Merge` metods on values assigned in `rule.SetAttr` Fixes bazel-contrib#1072
To avoid users having to recreate the logic
d56fcd0
to
f9a7e86
Compare
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [bazel_gazelle](https://togithub.com/bazelbuild/bazel-gazelle) | http_archive | minor | `v0.32.0` -> `v0.33.0` | --- ### Release Notes <details> <summary>bazelbuild/bazel-gazelle (bazel_gazelle)</summary> ### [`v0.33.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.33.0) [Compare Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.32.0...v0.33.0) #### What's Changed - Generate BUILD files for grpc-gateway by default by [@​seh](https://togithub.com/seh) in [https://github.com/bazelbuild/bazel-gazelle/pull/1578](https://togithub.com/bazelbuild/bazel-gazelle/pull/1578) - Remove temporary workaround after rules_go 0.41.0 release by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1577](https://togithub.com/bazelbuild/bazel-gazelle/pull/1577) - bzlmod: Use first host-compatible SDK to bootstrap Gazelle by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1581](https://togithub.com/bazelbuild/bazel-gazelle/pull/1581) - Update: golang.org/x/exp & golang.org/x/oauth2 deps. by [@​sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) in [https://github.com/bazelbuild/bazel-gazelle/pull/1582](https://togithub.com/bazelbuild/bazel-gazelle/pull/1582) - \[README.rst] Mention kotlin PoC by [@​kolloch](https://togithub.com/kolloch) in [https://github.com/bazelbuild/bazel-gazelle/pull/1590](https://togithub.com/bazelbuild/bazel-gazelle/pull/1590) - Fix and let `# gazelle:follow` accept a glob by [@​shahms](https://togithub.com/shahms) in [https://github.com/bazelbuild/bazel-gazelle/pull/1596](https://togithub.com/bazelbuild/bazel-gazelle/pull/1596) - Add support for isolated `go_deps` usages by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1584](https://togithub.com/bazelbuild/bazel-gazelle/pull/1584) - feat(bzlmod): support archive_override in go_deps by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1559](https://togithub.com/bazelbuild/bazel-gazelle/pull/1559) - fix: avoid updating `WORKSPACE` file when running `update-repos` when bzlmod is enabled by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1589](https://togithub.com/bazelbuild/bazel-gazelle/pull/1589) - Make `go_deps.from_file` compatible with Go 1.21 by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1605](https://togithub.com/bazelbuild/bazel-gazelle/pull/1605) - go_repository: fix missing default GOPROXY by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1602](https://togithub.com/bazelbuild/bazel-gazelle/pull/1602) - fix: patch support for dir named workspace by [@​michaellzc](https://togithub.com/michaellzc) in [https://github.com/bazelbuild/bazel-gazelle/pull/1606](https://togithub.com/bazelbuild/bazel-gazelle/pull/1606) - Revert "go_repository: fix missing default GOPROXY ([#​1602](https://togithub.com/bazelbuild/bazel-gazelle/issues/1602))" by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1609](https://togithub.com/bazelbuild/bazel-gazelle/pull/1609) - Upgrade `golang.org/x/mod` Vendor to Support Go 1.21 by [@​alan910127](https://togithub.com/alan910127) in [https://github.com/bazelbuild/bazel-gazelle/pull/1611](https://togithub.com/bazelbuild/bazel-gazelle/pull/1611) - fix: go_repository: never shadow a module with a compatibility mapping for major versions. by [@​reltuk](https://togithub.com/reltuk) in [https://github.com/bazelbuild/bazel-gazelle/pull/1608](https://togithub.com/bazelbuild/bazel-gazelle/pull/1608) - bug fix: don't generate invalid go_binary rules for empty main packages by [@​andyscott](https://togithub.com/andyscott) in [https://github.com/bazelbuild/bazel-gazelle/pull/1618](https://togithub.com/bazelbuild/bazel-gazelle/pull/1618) - Fix wrong Kotlin Support link in README. by [@​duckladydinh](https://togithub.com/duckladydinh) in [https://github.com/bazelbuild/bazel-gazelle/pull/1619](https://togithub.com/bazelbuild/bazel-gazelle/pull/1619) - bzlmod: Verify that the lockfile is platform-independent by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1617](https://togithub.com/bazelbuild/bazel-gazelle/pull/1617) - Add gazelle_rust under supported languages by [@​Calsign](https://togithub.com/Calsign) in [https://github.com/bazelbuild/bazel-gazelle/pull/1620](https://togithub.com/bazelbuild/bazel-gazelle/pull/1620) - replace golang.org/x/tools with golang.org/x/tools/go/vcs@v0.1.0-deprecated by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/bazel-gazelle/pull/1603](https://togithub.com/bazelbuild/bazel-gazelle/pull/1603) - Implement Merger interface by [@​Whoaa512](https://togithub.com/Whoaa512) in [https://github.com/bazelbuild/bazel-gazelle/pull/1569](https://togithub.com/bazelbuild/bazel-gazelle/pull/1569) - Improve Gazelle launcher's runfiles discovery on Windows by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1604](https://togithub.com/bazelbuild/bazel-gazelle/pull/1604) - Add an entry for "github.com/googleapis/gax-go/v2" to default_gazelle_overrides.bzl by [@​andrewmbenton](https://togithub.com/andrewmbenton) in [https://github.com/bazelbuild/bazel-gazelle/pull/1623](https://togithub.com/bazelbuild/bazel-gazelle/pull/1623) - add a go_test directive to enable generating go_test targets per \_test.go file by [@​shahms](https://togithub.com/shahms) in [https://github.com/bazelbuild/bazel-gazelle/pull/1597](https://togithub.com/bazelbuild/bazel-gazelle/pull/1597) - Detect whether Gazelle itself is a Bazel module by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1624](https://togithub.com/bazelbuild/bazel-gazelle/pull/1624) - prepare release 0.33 by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1615](https://togithub.com/bazelbuild/bazel-gazelle/pull/1615) #### New Contributors - [@​sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1582](https://togithub.com/bazelbuild/bazel-gazelle/pull/1582) - [@​kolloch](https://togithub.com/kolloch) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1590](https://togithub.com/bazelbuild/bazel-gazelle/pull/1590) - [@​shahms](https://togithub.com/shahms) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1596](https://togithub.com/bazelbuild/bazel-gazelle/pull/1596) - [@​michaellzc](https://togithub.com/michaellzc) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1606](https://togithub.com/bazelbuild/bazel-gazelle/pull/1606) - [@​alan910127](https://togithub.com/alan910127) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1611](https://togithub.com/bazelbuild/bazel-gazelle/pull/1611) - [@​reltuk](https://togithub.com/reltuk) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1608](https://togithub.com/bazelbuild/bazel-gazelle/pull/1608) - [@​andyscott](https://togithub.com/andyscott) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1618](https://togithub.com/bazelbuild/bazel-gazelle/pull/1618) - [@​duckladydinh](https://togithub.com/duckladydinh) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1619](https://togithub.com/bazelbuild/bazel-gazelle/pull/1619) - [@​Calsign](https://togithub.com/Calsign) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1620](https://togithub.com/bazelbuild/bazel-gazelle/pull/1620) - [@​malt3](https://togithub.com/malt3) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1603](https://togithub.com/bazelbuild/bazel-gazelle/pull/1603) - [@​andrewmbenton](https://togithub.com/andrewmbenton) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1623](https://togithub.com/bazelbuild/bazel-gazelle/pull/1623) **Full Changelog**: bazel-contrib/bazel-gazelle@v0.32.0...v0.33.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44Ny4wIiwidXBkYXRlZEluVmVyIjoiMzYuODcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
[![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.32.0` -> `v0.33.0` | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>bazelbuild/bazel-gazelle (bazel_gazelle)</summary> ### [`v0.33.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.33.0) [Compare Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.32.0...v0.33.0) #### What's Changed - Generate BUILD files for grpc-gateway by default by [@​seh](https://togithub.com/seh) in [https://github.com/bazelbuild/bazel-gazelle/pull/1578](https://togithub.com/bazelbuild/bazel-gazelle/pull/1578) - Remove temporary workaround after rules_go 0.41.0 release by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1577](https://togithub.com/bazelbuild/bazel-gazelle/pull/1577) - bzlmod: Use first host-compatible SDK to bootstrap Gazelle by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1581](https://togithub.com/bazelbuild/bazel-gazelle/pull/1581) - Update: golang.org/x/exp & golang.org/x/oauth2 deps. by [@​sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) in [https://github.com/bazelbuild/bazel-gazelle/pull/1582](https://togithub.com/bazelbuild/bazel-gazelle/pull/1582) - \[README.rst] Mention kotlin PoC by [@​kolloch](https://togithub.com/kolloch) in [https://github.com/bazelbuild/bazel-gazelle/pull/1590](https://togithub.com/bazelbuild/bazel-gazelle/pull/1590) - Fix and let `# gazelle:follow` accept a glob by [@​shahms](https://togithub.com/shahms) in [https://github.com/bazelbuild/bazel-gazelle/pull/1596](https://togithub.com/bazelbuild/bazel-gazelle/pull/1596) - Add support for isolated `go_deps` usages by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1584](https://togithub.com/bazelbuild/bazel-gazelle/pull/1584) - feat(bzlmod): support archive_override in go_deps by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1559](https://togithub.com/bazelbuild/bazel-gazelle/pull/1559) - fix: avoid updating `WORKSPACE` file when running `update-repos` when bzlmod is enabled by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1589](https://togithub.com/bazelbuild/bazel-gazelle/pull/1589) - Make `go_deps.from_file` compatible with Go 1.21 by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1605](https://togithub.com/bazelbuild/bazel-gazelle/pull/1605) - go_repository: fix missing default GOPROXY by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1602](https://togithub.com/bazelbuild/bazel-gazelle/pull/1602) - fix: patch support for dir named workspace by [@​michaellzc](https://togithub.com/michaellzc) in [https://github.com/bazelbuild/bazel-gazelle/pull/1606](https://togithub.com/bazelbuild/bazel-gazelle/pull/1606) - Revert "go_repository: fix missing default GOPROXY ([#​1602](https://togithub.com/bazelbuild/bazel-gazelle/issues/1602))" by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1609](https://togithub.com/bazelbuild/bazel-gazelle/pull/1609) - Upgrade `golang.org/x/mod` Vendor to Support Go 1.21 by [@​alan910127](https://togithub.com/alan910127) in [https://github.com/bazelbuild/bazel-gazelle/pull/1611](https://togithub.com/bazelbuild/bazel-gazelle/pull/1611) - fix: go_repository: never shadow a module with a compatibility mapping for major versions. by [@​reltuk](https://togithub.com/reltuk) in [https://github.com/bazelbuild/bazel-gazelle/pull/1608](https://togithub.com/bazelbuild/bazel-gazelle/pull/1608) - bug fix: don't generate invalid go_binary rules for empty main packages by [@​andyscott](https://togithub.com/andyscott) in [https://github.com/bazelbuild/bazel-gazelle/pull/1618](https://togithub.com/bazelbuild/bazel-gazelle/pull/1618) - Fix wrong Kotlin Support link in README. by [@​duckladydinh](https://togithub.com/duckladydinh) in [https://github.com/bazelbuild/bazel-gazelle/pull/1619](https://togithub.com/bazelbuild/bazel-gazelle/pull/1619) - bzlmod: Verify that the lockfile is platform-independent by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1617](https://togithub.com/bazelbuild/bazel-gazelle/pull/1617) - Add gazelle_rust under supported languages by [@​Calsign](https://togithub.com/Calsign) in [https://github.com/bazelbuild/bazel-gazelle/pull/1620](https://togithub.com/bazelbuild/bazel-gazelle/pull/1620) - replace golang.org/x/tools with golang.org/x/tools/go/vcs@v0.1.0-deprecated by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/bazel-gazelle/pull/1603](https://togithub.com/bazelbuild/bazel-gazelle/pull/1603) - Implement Merger interface by [@​Whoaa512](https://togithub.com/Whoaa512) in [https://github.com/bazelbuild/bazel-gazelle/pull/1569](https://togithub.com/bazelbuild/bazel-gazelle/pull/1569) - Improve Gazelle launcher's runfiles discovery on Windows by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1604](https://togithub.com/bazelbuild/bazel-gazelle/pull/1604) - Add an entry for "github.com/googleapis/gax-go/v2" to default_gazelle_overrides.bzl by [@​andrewmbenton](https://togithub.com/andrewmbenton) in [https://github.com/bazelbuild/bazel-gazelle/pull/1623](https://togithub.com/bazelbuild/bazel-gazelle/pull/1623) - add a go_test directive to enable generating go_test targets per \_test.go file by [@​shahms](https://togithub.com/shahms) in [https://github.com/bazelbuild/bazel-gazelle/pull/1597](https://togithub.com/bazelbuild/bazel-gazelle/pull/1597) - Detect whether Gazelle itself is a Bazel module by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1624](https://togithub.com/bazelbuild/bazel-gazelle/pull/1624) - prepare release 0.33 by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1615](https://togithub.com/bazelbuild/bazel-gazelle/pull/1615) #### New Contributors - [@​sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1582](https://togithub.com/bazelbuild/bazel-gazelle/pull/1582) - [@​kolloch](https://togithub.com/kolloch) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1590](https://togithub.com/bazelbuild/bazel-gazelle/pull/1590) - [@​shahms](https://togithub.com/shahms) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1596](https://togithub.com/bazelbuild/bazel-gazelle/pull/1596) - [@​michaellzc](https://togithub.com/michaellzc) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1606](https://togithub.com/bazelbuild/bazel-gazelle/pull/1606) - [@​alan910127](https://togithub.com/alan910127) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1611](https://togithub.com/bazelbuild/bazel-gazelle/pull/1611) - [@​reltuk](https://togithub.com/reltuk) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1608](https://togithub.com/bazelbuild/bazel-gazelle/pull/1608) - [@​andyscott](https://togithub.com/andyscott) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1618](https://togithub.com/bazelbuild/bazel-gazelle/pull/1618) - [@​duckladydinh](https://togithub.com/duckladydinh) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1619](https://togithub.com/bazelbuild/bazel-gazelle/pull/1619) - [@​Calsign](https://togithub.com/Calsign) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1620](https://togithub.com/bazelbuild/bazel-gazelle/pull/1620) - [@​malt3](https://togithub.com/malt3) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1603](https://togithub.com/bazelbuild/bazel-gazelle/pull/1603) - [@​andrewmbenton](https://togithub.com/andrewmbenton) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1623](https://togithub.com/bazelbuild/bazel-gazelle/pull/1623) **Full Changelog**: bazel-contrib/bazel-gazelle@v0.32.0...v0.33.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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://developer.mend.io/github/kreempuff/rules_unreal_engine). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
[![Mend Renovate logo banner](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.32.0` -> `v0.34.0` | --- ### Release Notes <details> <summary>bazelbuild/bazel-gazelle (bazel_gazelle)</summary> ### [`v0.34.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.34.0) [Compare Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.33.0...v0.34.0) #### What's Changed - update readme for v0.33.0 by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1627](https://togithub.com/bazelbuild/bazel-gazelle/pull/1627) - Remove golang.org/x/crypto dep by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1631](https://togithub.com/bazelbuild/bazel-gazelle/pull/1631) - Fix map_kind with empty rules by [@​lbcjbb](https://togithub.com/lbcjbb) in [https://github.com/bazelbuild/bazel-gazelle/pull/1441](https://togithub.com/bazelbuild/bazel-gazelle/pull/1441) - fix: add missing bzl_library declaration and dep by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1633](https://togithub.com/bazelbuild/bazel-gazelle/pull/1633) - chore: add bzl_test to ensure that bzl_library declarations exist by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1634](https://togithub.com/bazelbuild/bazel-gazelle/pull/1634) - Set runfiles environment variables for Gazelle by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1632](https://togithub.com/bazelbuild/bazel-gazelle/pull/1632) - address comments from [#​1597](https://togithub.com/bazelbuild/bazel-gazelle/issues/1597) by [@​shahms](https://togithub.com/shahms) in [https://github.com/bazelbuild/bazel-gazelle/pull/1628](https://togithub.com/bazelbuild/bazel-gazelle/pull/1628) - Fix kinds and stmt by [@​birunts](https://togithub.com/birunts) in [https://github.com/bazelbuild/bazel-gazelle/pull/1613](https://togithub.com/bazelbuild/bazel-gazelle/pull/1613) - Export workspace file in go_repository_config.bzl by [@​mortenmj](https://togithub.com/mortenmj) in [https://github.com/bazelbuild/bazel-gazelle/pull/1641](https://togithub.com/bazelbuild/bazel-gazelle/pull/1641) - Add github.com/google/gnostic-models to default_gazelle_overrides.bzl by [@​mortenmj](https://togithub.com/mortenmj) in [https://github.com/bazelbuild/bazel-gazelle/pull/1645](https://togithub.com/bazelbuild/bazel-gazelle/pull/1645) - Support parsing labels that begin '@​@​' by [@​mark-thm](https://togithub.com/mark-thm) in [https://github.com/bazelbuild/bazel-gazelle/pull/1651](https://togithub.com/bazelbuild/bazel-gazelle/pull/1651) - Fix path for google/gnostic-models by [@​mortenmj](https://togithub.com/mortenmj) in [https://github.com/bazelbuild/bazel-gazelle/pull/1652](https://togithub.com/bazelbuild/bazel-gazelle/pull/1652) - fix(bzlmod): allow passing build_extra_args in gazelle_override by [@​casuallyhostile](https://togithub.com/casuallyhostile) in [https://github.com/bazelbuild/bazel-gazelle/pull/1648](https://togithub.com/bazelbuild/bazel-gazelle/pull/1648) - prepare release 0.34.0 by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1656](https://togithub.com/bazelbuild/bazel-gazelle/pull/1656) #### New Contributors - [@​casuallyhostile](https://togithub.com/casuallyhostile) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1648](https://togithub.com/bazelbuild/bazel-gazelle/pull/1648) **Full Changelog**: bazel-contrib/bazel-gazelle@v0.33.0...v0.34.0 ### [`v0.33.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.33.0) [Compare Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.32.0...v0.33.0) #### What's Changed - Generate BUILD files for grpc-gateway by default by [@​seh](https://togithub.com/seh) in [https://github.com/bazelbuild/bazel-gazelle/pull/1578](https://togithub.com/bazelbuild/bazel-gazelle/pull/1578) - Remove temporary workaround after rules_go 0.41.0 release by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1577](https://togithub.com/bazelbuild/bazel-gazelle/pull/1577) - bzlmod: Use first host-compatible SDK to bootstrap Gazelle by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1581](https://togithub.com/bazelbuild/bazel-gazelle/pull/1581) - Update: golang.org/x/exp & golang.org/x/oauth2 deps. by [@​sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) in [https://github.com/bazelbuild/bazel-gazelle/pull/1582](https://togithub.com/bazelbuild/bazel-gazelle/pull/1582) - \[README.rst] Mention kotlin PoC by [@​kolloch](https://togithub.com/kolloch) in [https://github.com/bazelbuild/bazel-gazelle/pull/1590](https://togithub.com/bazelbuild/bazel-gazelle/pull/1590) - Fix and let `# gazelle:follow` accept a glob by [@​shahms](https://togithub.com/shahms) in [https://github.com/bazelbuild/bazel-gazelle/pull/1596](https://togithub.com/bazelbuild/bazel-gazelle/pull/1596) - Add support for isolated `go_deps` usages by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1584](https://togithub.com/bazelbuild/bazel-gazelle/pull/1584) - feat(bzlmod): support archive_override in go_deps by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1559](https://togithub.com/bazelbuild/bazel-gazelle/pull/1559) - fix: avoid updating `WORKSPACE` file when running `update-repos` when bzlmod is enabled by [@​cgrindel](https://togithub.com/cgrindel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1589](https://togithub.com/bazelbuild/bazel-gazelle/pull/1589) - Make `go_deps.from_file` compatible with Go 1.21 by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1605](https://togithub.com/bazelbuild/bazel-gazelle/pull/1605) - go_repository: fix missing default GOPROXY by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1602](https://togithub.com/bazelbuild/bazel-gazelle/pull/1602) - fix: patch support for dir named workspace by [@​michaellzc](https://togithub.com/michaellzc) in [https://github.com/bazelbuild/bazel-gazelle/pull/1606](https://togithub.com/bazelbuild/bazel-gazelle/pull/1606) - Revert "go_repository: fix missing default GOPROXY ([#​1602](https://togithub.com/bazelbuild/bazel-gazelle/issues/1602))" by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1609](https://togithub.com/bazelbuild/bazel-gazelle/pull/1609) - Upgrade `golang.org/x/mod` Vendor to Support Go 1.21 by [@​alan910127](https://togithub.com/alan910127) in [https://github.com/bazelbuild/bazel-gazelle/pull/1611](https://togithub.com/bazelbuild/bazel-gazelle/pull/1611) - fix: go_repository: never shadow a module with a compatibility mapping for major versions. by [@​reltuk](https://togithub.com/reltuk) in [https://github.com/bazelbuild/bazel-gazelle/pull/1608](https://togithub.com/bazelbuild/bazel-gazelle/pull/1608) - bug fix: don't generate invalid go_binary rules for empty main packages by [@​andyscott](https://togithub.com/andyscott) in [https://github.com/bazelbuild/bazel-gazelle/pull/1618](https://togithub.com/bazelbuild/bazel-gazelle/pull/1618) - Fix wrong Kotlin Support link in README. by [@​duckladydinh](https://togithub.com/duckladydinh) in [https://github.com/bazelbuild/bazel-gazelle/pull/1619](https://togithub.com/bazelbuild/bazel-gazelle/pull/1619) - bzlmod: Verify that the lockfile is platform-independent by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1617](https://togithub.com/bazelbuild/bazel-gazelle/pull/1617) - Add gazelle_rust under supported languages by [@​Calsign](https://togithub.com/Calsign) in [https://github.com/bazelbuild/bazel-gazelle/pull/1620](https://togithub.com/bazelbuild/bazel-gazelle/pull/1620) - replace golang.org/x/tools with golang.org/x/tools/go/vcs@v0.1.0-deprecated by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/bazel-gazelle/pull/1603](https://togithub.com/bazelbuild/bazel-gazelle/pull/1603) - Implement Merger interface by [@​Whoaa512](https://togithub.com/Whoaa512) in [https://github.com/bazelbuild/bazel-gazelle/pull/1569](https://togithub.com/bazelbuild/bazel-gazelle/pull/1569) - Improve Gazelle launcher's runfiles discovery on Windows by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1604](https://togithub.com/bazelbuild/bazel-gazelle/pull/1604) - Add an entry for "github.com/googleapis/gax-go/v2" to default_gazelle_overrides.bzl by [@​andrewmbenton](https://togithub.com/andrewmbenton) in [https://github.com/bazelbuild/bazel-gazelle/pull/1623](https://togithub.com/bazelbuild/bazel-gazelle/pull/1623) - add a go_test directive to enable generating go_test targets per \_test.go file by [@​shahms](https://togithub.com/shahms) in [https://github.com/bazelbuild/bazel-gazelle/pull/1597](https://togithub.com/bazelbuild/bazel-gazelle/pull/1597) - Detect whether Gazelle itself is a Bazel module by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1624](https://togithub.com/bazelbuild/bazel-gazelle/pull/1624) - prepare release 0.33 by [@​tyler-french](https://togithub.com/tyler-french) in [https://github.com/bazelbuild/bazel-gazelle/pull/1615](https://togithub.com/bazelbuild/bazel-gazelle/pull/1615) #### New Contributors - [@​sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1582](https://togithub.com/bazelbuild/bazel-gazelle/pull/1582) - [@​kolloch](https://togithub.com/kolloch) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1590](https://togithub.com/bazelbuild/bazel-gazelle/pull/1590) - [@​shahms](https://togithub.com/shahms) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1596](https://togithub.com/bazelbuild/bazel-gazelle/pull/1596) - [@​michaellzc](https://togithub.com/michaellzc) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1606](https://togithub.com/bazelbuild/bazel-gazelle/pull/1606) - [@​alan910127](https://togithub.com/alan910127) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1611](https://togithub.com/bazelbuild/bazel-gazelle/pull/1611) - [@​reltuk](https://togithub.com/reltuk) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1608](https://togithub.com/bazelbuild/bazel-gazelle/pull/1608) - [@​andyscott](https://togithub.com/andyscott) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1618](https://togithub.com/bazelbuild/bazel-gazelle/pull/1618) - [@​duckladydinh](https://togithub.com/duckladydinh) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1619](https://togithub.com/bazelbuild/bazel-gazelle/pull/1619) - [@​Calsign](https://togithub.com/Calsign) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1620](https://togithub.com/bazelbuild/bazel-gazelle/pull/1620) - [@​malt3](https://togithub.com/malt3) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1603](https://togithub.com/bazelbuild/bazel-gazelle/pull/1603) - [@​andrewmbenton](https://togithub.com/andrewmbenton) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1623](https://togithub.com/bazelbuild/bazel-gazelle/pull/1623) **Full Changelog**: bazel-contrib/bazel-gazelle@v0.32.0...v0.33.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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://developer.mend.io/github/aspect-build/rules_py). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Add SortedStrings and UnsortedStrings expression values * Add the new Merger interface This enables users to implement `Merge` metods on values assigned in `rule.SetAttr` Fixes bazel-contrib#1072 * Implement Merge for SortedStrings & UnsortedStrings * Expose the MergeList & MergeDict helpers To avoid users having to recreate the logic
What type of PR is this?
What package or component does this PR mostly affect?
What does this PR do? Why is it needed?
Implements merger interface so that
rule.SetAttr
can take arbitrary structs that implementMerge
method that returns abzl.Expr
enabling users to define custom logic for merging attribute values within their BUILD.bazel filesWhich issues(s) does this PR fix?
Fixes #1072
Other notes for review
Easiest reviewed commit by commit to see the logical progression
This was mainly achieved by storing the original value next to a pre-computed expression on the
rule.attrs
map, then casting to check for the merger interface.Currently we fallback to the original logic if no merger interface exists on the
src
(or newly generated/set value).Further work can be done to migrate the platform strings but seemed like larger refactor that would muddy the waters of this PR.