Skip to content
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

Merged
merged 4 commits into from
Aug 28, 2023
Merged

Conversation

Whoaa512
Copy link
Contributor

@Whoaa512 Whoaa512 commented Jul 2, 2023

What type of PR is this?

Feature

What package or component does this PR mostly affect?

  • rule
  • merger

What does this PR do? Why is it needed?
Implements merger interface so that rule.SetAttr can take arbitrary structs that implement Merge method that returns a bzl.Expr enabling users to define custom logic for merging attribute values within their BUILD.bazel files

Which 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.

@Whoaa512 Whoaa512 force-pushed the merger-interface branch 3 times, most recently from 4fbb4d5 to 7fb905a Compare July 2, 2023 08:36
@Whoaa512
Copy link
Contributor Author

Whoaa512 commented Jul 2, 2023

Prob also makes #937,#1063,#1036,#1037,#1215 easier, if not fixes them completely

@Whoaa512
Copy link
Contributor Author

Whoaa512 commented Jul 2, 2023

@linzhp could you please review this?

@Whoaa512 Whoaa512 force-pushed the merger-interface branch 2 times, most recently from bb30234 to 205f211 Compare July 2, 2023 19:38
@linzhp
Copy link
Contributor

linzhp commented Jul 3, 2023

I can take a look later this week

@linzhp
Copy link
Contributor

linzhp commented Jul 5, 2023

@eric-skydio do you want to take a look?

@birunts
Copy link
Contributor

birunts commented Aug 17, 2023

Hi, any updates on this?

@Whoaa512
Copy link
Contributor Author

@tyler-french mind taking a look?

Copy link
Contributor

@tyler-french tyler-french left a 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...

rule/merge.go Outdated Show resolved Hide resolved
rule/rule.go Outdated Show resolved Hide resolved
@Whoaa512
Copy link
Contributor Author

Thanks! I just amended the changes to add your suggestions.

Lemme know how perf testing goes :D

@tyler-french
Copy link
Contributor

Yep, everything seems good (with no regressions). @fmeum if you want to do a more detailed review.

@fmeum fmeum enabled auto-merge (squash) August 28, 2023 20:48
@fmeum fmeum merged commit a2a604d into bazelbuild:master Aug 28, 2023
10 checks passed
cgrindel-self-hosted-renovate bot added a commit to cgrindel/bazel-starlib that referenced this pull request Sep 8, 2023
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
[@&#8203;seh](https://togithub.com/seh) in
[bazelbuild/bazel-gazelle#1578
- Remove temporary workaround after rules_go 0.41.0 release by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1577
- bzlmod: Use first host-compatible SDK to bootstrap Gazelle by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1581
- Update: golang.org/x/exp & golang.org/x/oauth2 deps. by
[@&#8203;sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) in
[bazelbuild/bazel-gazelle#1582
- \[README.rst] Mention kotlin PoC by
[@&#8203;kolloch](https://togithub.com/kolloch) in
[bazelbuild/bazel-gazelle#1590
- Fix and let `# gazelle:follow` accept a glob by
[@&#8203;shahms](https://togithub.com/shahms) in
[bazelbuild/bazel-gazelle#1596
- Add support for isolated `go_deps` usages by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1584
- feat(bzlmod): support archive_override in go_deps by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1559
- fix: avoid updating `WORKSPACE` file when running `update-repos` when
bzlmod is enabled by [@&#8203;cgrindel](https://togithub.com/cgrindel)
in
[bazelbuild/bazel-gazelle#1589
- Make `go_deps.from_file` compatible with Go 1.21 by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1605
- go_repository: fix missing default GOPROXY by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/bazel-gazelle#1602
- fix: patch support for dir named workspace by
[@&#8203;michaellzc](https://togithub.com/michaellzc) in
[bazelbuild/bazel-gazelle#1606
- Revert "go_repository: fix missing default GOPROXY
([#&#8203;1602](https://togithub.com/bazelbuild/bazel-gazelle/issues/1602))"
by [@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/bazel-gazelle#1609
- Upgrade `golang.org/x/mod` Vendor to Support Go 1.21 by
[@&#8203;alan910127](https://togithub.com/alan910127) in
[bazelbuild/bazel-gazelle#1611
- fix: go_repository: never shadow a module with a compatibility mapping
for major versions. by [@&#8203;reltuk](https://togithub.com/reltuk) in
[bazelbuild/bazel-gazelle#1608
- bug fix: don't generate invalid go_binary rules for empty main
packages by [@&#8203;andyscott](https://togithub.com/andyscott) in
[bazelbuild/bazel-gazelle#1618
- Fix wrong Kotlin Support link in README. by
[@&#8203;duckladydinh](https://togithub.com/duckladydinh) in
[bazelbuild/bazel-gazelle#1619
- bzlmod: Verify that the lockfile is platform-independent by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1617
- Add gazelle_rust under supported languages by
[@&#8203;Calsign](https://togithub.com/Calsign) in
[bazelbuild/bazel-gazelle#1620
- replace golang.org/x/tools with
golang.org/x/tools/go/vcs@v0.1.0-deprecated by
[@&#8203;malt3](https://togithub.com/malt3) in
[bazelbuild/bazel-gazelle#1603
- Implement Merger interface by
[@&#8203;Whoaa512](https://togithub.com/Whoaa512) in
[bazelbuild/bazel-gazelle#1569
- Improve Gazelle launcher's runfiles discovery on Windows by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1604
- Add an entry for "github.com/googleapis/gax-go/v2" to
default_gazelle_overrides.bzl by
[@&#8203;andrewmbenton](https://togithub.com/andrewmbenton) in
[bazelbuild/bazel-gazelle#1623
- add a go_test directive to enable generating go_test targets per
\_test.go file by [@&#8203;shahms](https://togithub.com/shahms) in
[bazelbuild/bazel-gazelle#1597
- Detect whether Gazelle itself is a Bazel module by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1624
- prepare release 0.33 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1615

#### New Contributors

- [@&#8203;sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) made their
first contribution in
[bazelbuild/bazel-gazelle#1582
- [@&#8203;kolloch](https://togithub.com/kolloch) made their first
contribution in
[bazelbuild/bazel-gazelle#1590
- [@&#8203;shahms](https://togithub.com/shahms) made their first
contribution in
[bazelbuild/bazel-gazelle#1596
- [@&#8203;michaellzc](https://togithub.com/michaellzc) made their first
contribution in
[bazelbuild/bazel-gazelle#1606
- [@&#8203;alan910127](https://togithub.com/alan910127) made their first
contribution in
[bazelbuild/bazel-gazelle#1611
- [@&#8203;reltuk](https://togithub.com/reltuk) made their first
contribution in
[bazelbuild/bazel-gazelle#1608
- [@&#8203;andyscott](https://togithub.com/andyscott) made their first
contribution in
[bazelbuild/bazel-gazelle#1618
- [@&#8203;duckladydinh](https://togithub.com/duckladydinh) made their
first contribution in
[bazelbuild/bazel-gazelle#1619
- [@&#8203;Calsign](https://togithub.com/Calsign) made their first
contribution in
[bazelbuild/bazel-gazelle#1620
- [@&#8203;malt3](https://togithub.com/malt3) made their first
contribution in
[bazelbuild/bazel-gazelle#1603
- [@&#8203;andrewmbenton](https://togithub.com/andrewmbenton) made their
first contribution in
[bazelbuild/bazel-gazelle#1623

**Full Changelog**:
bazelbuild/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>
renovate bot added a commit to kreempuff/rules_unreal_engine that referenced this pull request Sep 8, 2023
[![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
[@&#8203;seh](https://togithub.com/seh) in
[bazelbuild/bazel-gazelle#1578
- Remove temporary workaround after rules_go 0.41.0 release by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1577
- bzlmod: Use first host-compatible SDK to bootstrap Gazelle by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1581
- Update: golang.org/x/exp & golang.org/x/oauth2 deps. by
[@&#8203;sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) in
[bazelbuild/bazel-gazelle#1582
- \[README.rst] Mention kotlin PoC by
[@&#8203;kolloch](https://togithub.com/kolloch) in
[bazelbuild/bazel-gazelle#1590
- Fix and let `# gazelle:follow` accept a glob by
[@&#8203;shahms](https://togithub.com/shahms) in
[bazelbuild/bazel-gazelle#1596
- Add support for isolated `go_deps` usages by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1584
- feat(bzlmod): support archive_override in go_deps by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1559
- fix: avoid updating `WORKSPACE` file when running `update-repos` when
bzlmod is enabled by [@&#8203;cgrindel](https://togithub.com/cgrindel)
in
[bazelbuild/bazel-gazelle#1589
- Make `go_deps.from_file` compatible with Go 1.21 by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1605
- go_repository: fix missing default GOPROXY by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/bazel-gazelle#1602
- fix: patch support for dir named workspace by
[@&#8203;michaellzc](https://togithub.com/michaellzc) in
[bazelbuild/bazel-gazelle#1606
- Revert "go_repository: fix missing default GOPROXY
([#&#8203;1602](https://togithub.com/bazelbuild/bazel-gazelle/issues/1602))"
by [@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/bazel-gazelle#1609
- Upgrade `golang.org/x/mod` Vendor to Support Go 1.21 by
[@&#8203;alan910127](https://togithub.com/alan910127) in
[bazelbuild/bazel-gazelle#1611
- fix: go_repository: never shadow a module with a compatibility mapping
for major versions. by [@&#8203;reltuk](https://togithub.com/reltuk) in
[bazelbuild/bazel-gazelle#1608
- bug fix: don't generate invalid go_binary rules for empty main
packages by [@&#8203;andyscott](https://togithub.com/andyscott) in
[bazelbuild/bazel-gazelle#1618
- Fix wrong Kotlin Support link in README. by
[@&#8203;duckladydinh](https://togithub.com/duckladydinh) in
[bazelbuild/bazel-gazelle#1619
- bzlmod: Verify that the lockfile is platform-independent by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1617
- Add gazelle_rust under supported languages by
[@&#8203;Calsign](https://togithub.com/Calsign) in
[bazelbuild/bazel-gazelle#1620
- replace golang.org/x/tools with
golang.org/x/tools/go/vcs@v0.1.0-deprecated by
[@&#8203;malt3](https://togithub.com/malt3) in
[bazelbuild/bazel-gazelle#1603
- Implement Merger interface by
[@&#8203;Whoaa512](https://togithub.com/Whoaa512) in
[bazelbuild/bazel-gazelle#1569
- Improve Gazelle launcher's runfiles discovery on Windows by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1604
- Add an entry for "github.com/googleapis/gax-go/v2" to
default_gazelle_overrides.bzl by
[@&#8203;andrewmbenton](https://togithub.com/andrewmbenton) in
[bazelbuild/bazel-gazelle#1623
- add a go_test directive to enable generating go_test targets per
\_test.go file by [@&#8203;shahms](https://togithub.com/shahms) in
[bazelbuild/bazel-gazelle#1597
- Detect whether Gazelle itself is a Bazel module by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1624
- prepare release 0.33 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1615

#### New Contributors

- [@&#8203;sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) made their
first contribution in
[bazelbuild/bazel-gazelle#1582
- [@&#8203;kolloch](https://togithub.com/kolloch) made their first
contribution in
[bazelbuild/bazel-gazelle#1590
- [@&#8203;shahms](https://togithub.com/shahms) made their first
contribution in
[bazelbuild/bazel-gazelle#1596
- [@&#8203;michaellzc](https://togithub.com/michaellzc) made their first
contribution in
[bazelbuild/bazel-gazelle#1606
- [@&#8203;alan910127](https://togithub.com/alan910127) made their first
contribution in
[bazelbuild/bazel-gazelle#1611
- [@&#8203;reltuk](https://togithub.com/reltuk) made their first
contribution in
[bazelbuild/bazel-gazelle#1608
- [@&#8203;andyscott](https://togithub.com/andyscott) made their first
contribution in
[bazelbuild/bazel-gazelle#1618
- [@&#8203;duckladydinh](https://togithub.com/duckladydinh) made their
first contribution in
[bazelbuild/bazel-gazelle#1619
- [@&#8203;Calsign](https://togithub.com/Calsign) made their first
contribution in
[bazelbuild/bazel-gazelle#1620
- [@&#8203;malt3](https://togithub.com/malt3) made their first
contribution in
[bazelbuild/bazel-gazelle#1603
- [@&#8203;andrewmbenton](https://togithub.com/andrewmbenton) made their
first contribution in
[bazelbuild/bazel-gazelle#1623

**Full Changelog**:
bazelbuild/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==-->
alexeagle pushed a commit to aspect-build/rules_py that referenced this pull request Nov 14, 2023
[![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
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1627
- Remove golang.org/x/crypto dep by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1631
- Fix map_kind with empty rules by
[@&#8203;lbcjbb](https://togithub.com/lbcjbb) in
[bazelbuild/bazel-gazelle#1441
- fix: add missing bzl_library declaration and dep by
[@&#8203;cgrindel](https://togithub.com/cgrindel) in
[bazelbuild/bazel-gazelle#1633
- chore: add bzl_test to ensure that bzl_library declarations exist by
[@&#8203;cgrindel](https://togithub.com/cgrindel) in
[bazelbuild/bazel-gazelle#1634
- Set runfiles environment variables for Gazelle by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1632
- address comments from
[#&#8203;1597](https://togithub.com/bazelbuild/bazel-gazelle/issues/1597)
by [@&#8203;shahms](https://togithub.com/shahms) in
[bazelbuild/bazel-gazelle#1628
- Fix kinds and stmt by [@&#8203;birunts](https://togithub.com/birunts)
in
[bazelbuild/bazel-gazelle#1613
- Export workspace file in go_repository_config.bzl by
[@&#8203;mortenmj](https://togithub.com/mortenmj) in
[bazelbuild/bazel-gazelle#1641
- Add github.com/google/gnostic-models to default_gazelle_overrides.bzl
by [@&#8203;mortenmj](https://togithub.com/mortenmj) in
[bazelbuild/bazel-gazelle#1645
- Support parsing labels that begin '@&#8203;@&#8203;' by
[@&#8203;mark-thm](https://togithub.com/mark-thm) in
[bazelbuild/bazel-gazelle#1651
- Fix path for google/gnostic-models by
[@&#8203;mortenmj](https://togithub.com/mortenmj) in
[bazelbuild/bazel-gazelle#1652
- fix(bzlmod): allow passing build_extra_args in gazelle_override by
[@&#8203;casuallyhostile](https://togithub.com/casuallyhostile) in
[bazelbuild/bazel-gazelle#1648
- prepare release 0.34.0 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1656

#### New Contributors

- [@&#8203;casuallyhostile](https://togithub.com/casuallyhostile) made
their first contribution in
[bazelbuild/bazel-gazelle#1648

**Full Changelog**:
bazelbuild/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
[@&#8203;seh](https://togithub.com/seh) in
[bazelbuild/bazel-gazelle#1578
- Remove temporary workaround after rules_go 0.41.0 release by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1577
- bzlmod: Use first host-compatible SDK to bootstrap Gazelle by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1581
- Update: golang.org/x/exp & golang.org/x/oauth2 deps. by
[@&#8203;sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) in
[bazelbuild/bazel-gazelle#1582
- \[README.rst] Mention kotlin PoC by
[@&#8203;kolloch](https://togithub.com/kolloch) in
[bazelbuild/bazel-gazelle#1590
- Fix and let `# gazelle:follow` accept a glob by
[@&#8203;shahms](https://togithub.com/shahms) in
[bazelbuild/bazel-gazelle#1596
- Add support for isolated `go_deps` usages by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1584
- feat(bzlmod): support archive_override in go_deps by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1559
- fix: avoid updating `WORKSPACE` file when running `update-repos` when
bzlmod is enabled by [@&#8203;cgrindel](https://togithub.com/cgrindel)
in
[bazelbuild/bazel-gazelle#1589
- Make `go_deps.from_file` compatible with Go 1.21 by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1605
- go_repository: fix missing default GOPROXY by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/bazel-gazelle#1602
- fix: patch support for dir named workspace by
[@&#8203;michaellzc](https://togithub.com/michaellzc) in
[bazelbuild/bazel-gazelle#1606
- Revert "go_repository: fix missing default GOPROXY
([#&#8203;1602](https://togithub.com/bazelbuild/bazel-gazelle/issues/1602))"
by [@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/bazel-gazelle#1609
- Upgrade `golang.org/x/mod` Vendor to Support Go 1.21 by
[@&#8203;alan910127](https://togithub.com/alan910127) in
[bazelbuild/bazel-gazelle#1611
- fix: go_repository: never shadow a module with a compatibility mapping
for major versions. by [@&#8203;reltuk](https://togithub.com/reltuk) in
[bazelbuild/bazel-gazelle#1608
- bug fix: don't generate invalid go_binary rules for empty main
packages by [@&#8203;andyscott](https://togithub.com/andyscott) in
[bazelbuild/bazel-gazelle#1618
- Fix wrong Kotlin Support link in README. by
[@&#8203;duckladydinh](https://togithub.com/duckladydinh) in
[bazelbuild/bazel-gazelle#1619
- bzlmod: Verify that the lockfile is platform-independent by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1617
- Add gazelle_rust under supported languages by
[@&#8203;Calsign](https://togithub.com/Calsign) in
[bazelbuild/bazel-gazelle#1620
- replace golang.org/x/tools with
golang.org/x/tools/go/vcs@v0.1.0-deprecated by
[@&#8203;malt3](https://togithub.com/malt3) in
[bazelbuild/bazel-gazelle#1603
- Implement Merger interface by
[@&#8203;Whoaa512](https://togithub.com/Whoaa512) in
[bazelbuild/bazel-gazelle#1569
- Improve Gazelle launcher's runfiles discovery on Windows by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1604
- Add an entry for "github.com/googleapis/gax-go/v2" to
default_gazelle_overrides.bzl by
[@&#8203;andrewmbenton](https://togithub.com/andrewmbenton) in
[bazelbuild/bazel-gazelle#1623
- add a go_test directive to enable generating go_test targets per
\_test.go file by [@&#8203;shahms](https://togithub.com/shahms) in
[bazelbuild/bazel-gazelle#1597
- Detect whether Gazelle itself is a Bazel module by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/bazel-gazelle#1624
- prepare release 0.33 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/bazel-gazelle#1615

#### New Contributors

- [@&#8203;sfc-gh-ptabor](https://togithub.com/sfc-gh-ptabor) made their
first contribution in
[bazelbuild/bazel-gazelle#1582
- [@&#8203;kolloch](https://togithub.com/kolloch) made their first
contribution in
[bazelbuild/bazel-gazelle#1590
- [@&#8203;shahms](https://togithub.com/shahms) made their first
contribution in
[bazelbuild/bazel-gazelle#1596
- [@&#8203;michaellzc](https://togithub.com/michaellzc) made their first
contribution in
[bazelbuild/bazel-gazelle#1606
- [@&#8203;alan910127](https://togithub.com/alan910127) made their first
contribution in
[bazelbuild/bazel-gazelle#1611
- [@&#8203;reltuk](https://togithub.com/reltuk) made their first
contribution in
[bazelbuild/bazel-gazelle#1608
- [@&#8203;andyscott](https://togithub.com/andyscott) made their first
contribution in
[bazelbuild/bazel-gazelle#1618
- [@&#8203;duckladydinh](https://togithub.com/duckladydinh) made their
first contribution in
[bazelbuild/bazel-gazelle#1619
- [@&#8203;Calsign](https://togithub.com/Calsign) made their first
contribution in
[bazelbuild/bazel-gazelle#1620
- [@&#8203;malt3](https://togithub.com/malt3) made their first
contribution in
[bazelbuild/bazel-gazelle#1603
- [@&#8203;andrewmbenton](https://togithub.com/andrewmbenton) made their
first contribution in
[bazelbuild/bazel-gazelle#1623

**Full Changelog**:
bazelbuild/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>
jeromep-stripe pushed a commit to jeromep-stripe/bazel-gazelle that referenced this pull request Mar 22, 2024
* 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 bazelbuild#1072

* Implement Merge for SortedStrings & UnsortedStrings

* Expose the MergeList & MergeDict helpers

To avoid users having to recreate the logic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Proposal: Move expression merging into an interface
5 participants