-
-
Notifications
You must be signed in to change notification settings - Fork 665
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
go_sdk extension: create go_host_compatible_sdk
repository
#3543
go_sdk extension: create go_host_compatible_sdk
repository
#3543
Conversation
dcc5457
to
0251bbe
Compare
Thanks, I applied your suggestions. Indeed, since we only need the first element of the |
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.
@tyler-french Could you take a look as well?
0251bbe
to
226cab6
Compare
As a heads-up, I will be out of office for 3 months starting from July. So I will not be able to help with this (and #3546) during this period. |
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.
Sorry for the delay, this looks good and can be merged after these remaining changes.
@tyler-french is working on porting go_wrap_sdk
to Bzlmod and once that's done, we probably have an easier way to realize your follow-up PR.
See issue 1469 on https://github.com/bazelbuild/bazel-gazelle Co-authored-by: Fabian Meumertzheim <[email protected]>
92ac50a
to
7c31b81
Compare
Alright, I applied the suggestions. |
Tested in Gazelle with this diff: diff --git a/MODULE.bazel b/MODULE.bazel
index f8f3b26..5aa210d 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -14,7 +14,7 @@ go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk")
# Known to exist since it is instantiated by rules_go itself.
use_repo(
go_sdk,
- go_sdk = "go_default_sdk",
+ "go_host_compatible_sdk_label",
)
non_module_deps = use_extension("//internal/bzlmod:non_module_deps.bzl", "non_module_deps")
diff --git a/internal/bzlmod/non_module_deps.bzl b/internal/bzlmod/non_module_deps.bzl
index 8885452..b49e466 100644
--- a/internal/bzlmod/non_module_deps.bzl
+++ b/internal/bzlmod/non_module_deps.bzl
@@ -6,14 +6,18 @@ load(
"//internal:go_repository_tools.bzl",
"go_repository_tools",
)
+load(
+ "@go_host_compatible_sdk_label//:defs.bzl",
+ "host_compatible_sdk",
+)
visibility("//")
def _non_module_deps_impl(_):
go_repository_cache(
name = "bazel_gazelle_go_repository_cache",
- # Always provided by rules_go.
- go_sdk_name = "go_sdk",
+ # Label.workspace_name is always a canonical name, so use a canonical label.
+ go_sdk_name = "@" + host_compatible_sdk.workspace_name,
go_env = {},
)
go_repository_tools(
diff --git a/tests/bcr/MODULE.bazel b/tests/bcr/MODULE.bazel
index b4e3ff9..b61cb26 100644
--- a/tests/bcr/MODULE.bazel
+++ b/tests/bcr/MODULE.bazel
@@ -9,7 +9,10 @@ local_path_override(
)
bazel_dep(name = "rules_go", version = "0.39.1")
-
+local_path_override(
+ module_name = "rules_go",
+ path = "../../../rules_go",
+)
go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
# Validate a go.mod replace directive works. |
Tested at Uber |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) | http_archive | minor | `v0.39.1` -> `v0.40.0` | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0) #### What's Changed - Revert "Add automatic platform detection from inbound crosstool_top a… by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3468](https://togithub.com/bazelbuild/rules_go/pull/3468) - bzlmod: Add dedicated documentation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3519](https://togithub.com/bazelbuild/rules_go/pull/3519) - Create TEST_SHARD_STATUS_FILE when sharding tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3547](https://togithub.com/bazelbuild/rules_go/pull/3547) - Move CI flags to .bazelrc and fix BwoB build by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3551](https://togithub.com/bazelbuild/rules_go/pull/3551) - Re-enable go_path_test on RBE by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3539](https://togithub.com/bazelbuild/rules_go/pull/3539) - nogo: provide usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3534](https://togithub.com/bazelbuild/rules_go/pull/3534) - respect global strip config by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/rules_go/pull/3527](https://togithub.com/bazelbuild/rules_go/pull/3527) - stdliblist: return generated files by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - Fix formatting in nogo usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3557](https://togithub.com/bazelbuild/rules_go/pull/3557) - Fix `goexperiment.*` build tags by [@​lbcjbb](https://togithub.com/lbcjbb) in [https://github.com/bazelbuild/rules_go/pull/3556](https://togithub.com/bazelbuild/rules_go/pull/3556) - Remove tests for `go_path`'s `link` mode by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3565](https://togithub.com/bazelbuild/rules_go/pull/3565) - Fix tests with `--incompatible_disable_starlark_host_transitions` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3560](https://togithub.com/bazelbuild/rules_go/pull/3560) - Create empty `.go` file in a random location by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3566](https://togithub.com/bazelbuild/rules_go/pull/3566) - gopackagesdriver: fix interface to work with golangci-lint ([#​3523](https://togithub.com/bazelbuild/rules_go/issues/3523)) by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3524](https://togithub.com/bazelbuild/rules_go/pull/3524) - Fix typo in load statement for bzlmod docs by [@​Sovietaced](https://togithub.com/Sovietaced) in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - context: remove unused import by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3571](https://togithub.com/bazelbuild/rules_go/pull/3571) - docs: Mention `use_repo` automation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3573](https://togithub.com/bazelbuild/rules_go/pull/3573) - Test basic-gazelle example with incompatible flags by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3575](https://togithub.com/bazelbuild/rules_go/pull/3575) - go_sdk extension: create `go_host_compatible_sdk` repository by [@​ylecornec](https://togithub.com/ylecornec) in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) - docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3577](https://togithub.com/bazelbuild/rules_go/pull/3577) - go_download_sdk: apply extraction workaround to zips on non-windows OSs by [@​jayconrod](https://togithub.com/jayconrod) in [https://github.com/bazelbuild/rules_go/pull/3563](https://togithub.com/bazelbuild/rules_go/pull/3563) - Fix `go_download_sdk` with Bazel dev versions by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3580](https://togithub.com/bazelbuild/rules_go/pull/3580) - Implement //nolint parsing similar to golangci-lint by [@​patrickmscott](https://togithub.com/patrickmscott) in [https://github.com/bazelbuild/rules_go/pull/3562](https://togithub.com/bazelbuild/rules_go/pull/3562) #### New Contributors - [@​bricedp](https://togithub.com/bricedp) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3512](https://togithub.com/bazelbuild/rules_go/pull/3512) - [@​patrickmscott](https://togithub.com/patrickmscott) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3528](https://togithub.com/bazelbuild/rules_go/pull/3528) - [@​grampelberg](https://togithub.com/grampelberg) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - [@​Sovietaced](https://togithub.com/Sovietaced) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - [@​ylecornec](https://togithub.com/ylecornec) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) **Full Changelog**: bazel-contrib/rules_go@v0.39.1...v0.40.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.20.5") </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:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) | http_archive | minor | `v0.39.1` -> `v0.40.0` | --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0) #### What's Changed - Revert "Add automatic platform detection from inbound crosstool_top a… by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3468](https://togithub.com/bazelbuild/rules_go/pull/3468) - bzlmod: Add dedicated documentation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3519](https://togithub.com/bazelbuild/rules_go/pull/3519) - Create TEST_SHARD_STATUS_FILE when sharding tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3547](https://togithub.com/bazelbuild/rules_go/pull/3547) - Move CI flags to .bazelrc and fix BwoB build by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3551](https://togithub.com/bazelbuild/rules_go/pull/3551) - Re-enable go_path_test on RBE by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3539](https://togithub.com/bazelbuild/rules_go/pull/3539) - nogo: provide usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3534](https://togithub.com/bazelbuild/rules_go/pull/3534) - respect global strip config by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/rules_go/pull/3527](https://togithub.com/bazelbuild/rules_go/pull/3527) - stdliblist: return generated files by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - Fix formatting in nogo usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3557](https://togithub.com/bazelbuild/rules_go/pull/3557) - Fix `goexperiment.*` build tags by [@​lbcjbb](https://togithub.com/lbcjbb) in [https://github.com/bazelbuild/rules_go/pull/3556](https://togithub.com/bazelbuild/rules_go/pull/3556) - Remove tests for `go_path`'s `link` mode by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3565](https://togithub.com/bazelbuild/rules_go/pull/3565) - Fix tests with `--incompatible_disable_starlark_host_transitions` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3560](https://togithub.com/bazelbuild/rules_go/pull/3560) - Create empty `.go` file in a random location by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3566](https://togithub.com/bazelbuild/rules_go/pull/3566) - gopackagesdriver: fix interface to work with golangci-lint ([#​3523](https://togithub.com/bazelbuild/rules_go/issues/3523)) by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3524](https://togithub.com/bazelbuild/rules_go/pull/3524) - Fix typo in load statement for bzlmod docs by [@​Sovietaced](https://togithub.com/Sovietaced) in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - context: remove unused import by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3571](https://togithub.com/bazelbuild/rules_go/pull/3571) - docs: Mention `use_repo` automation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3573](https://togithub.com/bazelbuild/rules_go/pull/3573) - Test basic-gazelle example with incompatible flags by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3575](https://togithub.com/bazelbuild/rules_go/pull/3575) - go_sdk extension: create `go_host_compatible_sdk` repository by [@​ylecornec](https://togithub.com/ylecornec) in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) - docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3577](https://togithub.com/bazelbuild/rules_go/pull/3577) - go_download_sdk: apply extraction workaround to zips on non-windows OSs by [@​jayconrod](https://togithub.com/jayconrod) in [https://github.com/bazelbuild/rules_go/pull/3563](https://togithub.com/bazelbuild/rules_go/pull/3563) - Fix `go_download_sdk` with Bazel dev versions by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3580](https://togithub.com/bazelbuild/rules_go/pull/3580) - Implement //nolint parsing similar to golangci-lint by [@​patrickmscott](https://togithub.com/patrickmscott) in [https://github.com/bazelbuild/rules_go/pull/3562](https://togithub.com/bazelbuild/rules_go/pull/3562) #### New Contributors - [@​bricedp](https://togithub.com/bricedp) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3512](https://togithub.com/bazelbuild/rules_go/pull/3512) - [@​patrickmscott](https://togithub.com/patrickmscott) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3528](https://togithub.com/bazelbuild/rules_go/pull/3528) - [@​grampelberg](https://togithub.com/grampelberg) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - [@​Sovietaced](https://togithub.com/Sovietaced) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - [@​ylecornec](https://togithub.com/ylecornec) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) **Full Changelog**: bazel-contrib/rules_go@v0.39.1...v0.40.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.20.5") </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. 🔕 **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/cgrindel/rules_swift_package_manager). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) | http_archive | minor | `v0.39.1` -> `v0.40.0` | --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0) #### What's Changed - Revert "Add automatic platform detection from inbound crosstool_top a… by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3468](https://togithub.com/bazelbuild/rules_go/pull/3468) - bzlmod: Add dedicated documentation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3519](https://togithub.com/bazelbuild/rules_go/pull/3519) - Create TEST_SHARD_STATUS_FILE when sharding tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3547](https://togithub.com/bazelbuild/rules_go/pull/3547) - Move CI flags to .bazelrc and fix BwoB build by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3551](https://togithub.com/bazelbuild/rules_go/pull/3551) - Re-enable go_path_test on RBE by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3539](https://togithub.com/bazelbuild/rules_go/pull/3539) - nogo: provide usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3534](https://togithub.com/bazelbuild/rules_go/pull/3534) - respect global strip config by [@​malt3](https://togithub.com/malt3) in [https://github.com/bazelbuild/rules_go/pull/3527](https://togithub.com/bazelbuild/rules_go/pull/3527) - stdliblist: return generated files by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - Fix formatting in nogo usage doc by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3557](https://togithub.com/bazelbuild/rules_go/pull/3557) - Fix `goexperiment.*` build tags by [@​lbcjbb](https://togithub.com/lbcjbb) in [https://github.com/bazelbuild/rules_go/pull/3556](https://togithub.com/bazelbuild/rules_go/pull/3556) - Remove tests for `go_path`'s `link` mode by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3565](https://togithub.com/bazelbuild/rules_go/pull/3565) - Fix tests with `--incompatible_disable_starlark_host_transitions` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3560](https://togithub.com/bazelbuild/rules_go/pull/3560) - Create empty `.go` file in a random location by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3566](https://togithub.com/bazelbuild/rules_go/pull/3566) - gopackagesdriver: fix interface to work with golangci-lint ([#​3523](https://togithub.com/bazelbuild/rules_go/issues/3523)) by [@​grampelberg](https://togithub.com/grampelberg) in [https://github.com/bazelbuild/rules_go/pull/3524](https://togithub.com/bazelbuild/rules_go/pull/3524) - Fix typo in load statement for bzlmod docs by [@​Sovietaced](https://togithub.com/Sovietaced) in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - context: remove unused import by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3571](https://togithub.com/bazelbuild/rules_go/pull/3571) - docs: Mention `use_repo` automation by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3573](https://togithub.com/bazelbuild/rules_go/pull/3573) - Test basic-gazelle example with incompatible flags by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3575](https://togithub.com/bazelbuild/rules_go/pull/3575) - go_sdk extension: create `go_host_compatible_sdk` repository by [@​ylecornec](https://togithub.com/ylecornec) in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) - docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3577](https://togithub.com/bazelbuild/rules_go/pull/3577) - go_download_sdk: apply extraction workaround to zips on non-windows OSs by [@​jayconrod](https://togithub.com/jayconrod) in [https://github.com/bazelbuild/rules_go/pull/3563](https://togithub.com/bazelbuild/rules_go/pull/3563) - Fix `go_download_sdk` with Bazel dev versions by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3580](https://togithub.com/bazelbuild/rules_go/pull/3580) - Implement //nolint parsing similar to golangci-lint by [@​patrickmscott](https://togithub.com/patrickmscott) in [https://github.com/bazelbuild/rules_go/pull/3562](https://togithub.com/bazelbuild/rules_go/pull/3562) #### New Contributors - [@​bricedp](https://togithub.com/bricedp) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3512](https://togithub.com/bazelbuild/rules_go/pull/3512) - [@​patrickmscott](https://togithub.com/patrickmscott) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3528](https://togithub.com/bazelbuild/rules_go/pull/3528) - [@​grampelberg](https://togithub.com/grampelberg) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3552](https://togithub.com/bazelbuild/rules_go/pull/3552) - [@​Sovietaced](https://togithub.com/Sovietaced) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3570](https://togithub.com/bazelbuild/rules_go/pull/3570) - [@​ylecornec](https://togithub.com/ylecornec) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3543](https://togithub.com/bazelbuild/rules_go/pull/3543) **Full Changelog**: bazel-contrib/rules_go@v0.39.1...v0.40.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.20.5") </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. 🔕 **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/cgrindel/bazel-starlib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ontrib#3543) See issue 1469 on https://github.com/bazelbuild/bazel-gazelle Co-authored-by: Fabian Meumertzheim <[email protected]>
What type of PR is this?
Feature
What does this PR do? Why is it needed?
As discussed in this issue, this PR makes the
go_sdk
module extension define a new repository calledgo_host_compatible_sdk
.This repository exposes the label of the first host compatible sdk declared by a module via the
download
orhost
tag (according to bazel's iteration order over modules).The gazelle module could then rely on this toolchain for bootstrapping instead of always using
go_default_sdk
.Which issues(s) does this PR fix?
This PR is a first step toward closing bazel-contrib/bazel-gazelle#1469
Other notes for review