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

fix(packages-driver): allow defining additional aspects instead #3330

Merged
merged 2 commits into from Oct 24, 2022

Conversation

JamyDev
Copy link
Contributor

@JamyDev JamyDev commented Oct 21, 2022

What type of PR is this?

Other

What does this PR do? Why is it needed?

In #3328 I made it so defining an aspect would overwrite the default one defined by rules_go. This means the custom aspect would need to duplicate the rules_go code and potentially manually merge any changes we do in rules_go every release.

Talking with @linzhp , he indicated that you can pass more than one aspect to --aspects, so in this case when additional aspects are defined they will be passed in and can export similar info to the default aspect.

@@ -119,11 +119,13 @@ func (b *BazelJSONBuilder) Build(ctx context.Context, mode LoadMode) ([]string,
return nil, fmt.Errorf("found no labels matching the requests")
}

aspects := append(additionalAspects, rulesGoAspect)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK the order may be quite significant here.

@linzhp Is this the correct one (and if so, why?)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was a syntax simplification assuming the order didn't matter, if it does I'd be happy to change it so rules_go is first.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not saying this order is wrong, I simply don't know the aspect well enough to decide this. If I understood the interaction correctly, the latter aspect would see providers added by the former, but maybe that's just not how it works. :-)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the additional aspects need some information from each other, or from the default aspect, they can specify required_providers in their aspect definition, then Bazel would run those aspect in the order to satisfy the requirement.

@JamyDev did you test the these aspects don't override each other when that have the same output group and provider?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is possibility for overlap if you output to the same .pkg.json file as the default aspect. The packagesdriver only considers the .pkg.json files, so long as there's no overlap in these files it's fine. In our (Uber's) case that's not a problem, we output to ruleName.pkg.json (just like the default aspect does) and only output anything when we encounter our custom rule.

Now if the order in the argument here is actually followed this means that if I write a bad custom aspect, it'll get overridden by the rulesGo aspect, unless I directly declare it as a required_provider.

Co-authored-by: Zhongpeng Lin <zplin@uber.com>
Copy link
Contributor

@linzhp linzhp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think there ever is a scenario where the goDefaultAspect is not wanted? If so, maybe we can instead have GOPACKAGESDRIVER_BAZEL_ASPECTS, which defaults to //go/tools/gopackagesdriver:aspect.bzl%go_pkg_info_aspect, and ask users to set it to //go/tools/gopackagesdriver:aspect.bzl%go_pkg_info_aspect,//some/other%aspect if they want aspects in addition to the default aspect, and set it to //some/other%aspect if they don't want to default aspect

@JamyDev
Copy link
Contributor Author

JamyDev commented Oct 24, 2022

Do you think there ever is a scenario where the goDefaultAspect is not wanted?

Maybe but then we'd also have to define each of the go targets individually instead of only additional ones. At that point it might make sense to just fork GoPackagesDriver, no?

@linzhp
Copy link
Contributor

linzhp commented Oct 24, 2022

yeah, that's right.

@linzhp linzhp merged commit fe4417d into bazelbuild:master Oct 24, 2022
@JamyDev JamyDev deleted the fix/make_aspects_additional branch October 24, 2022 17:39
renovate bot added a commit to cgrindel/rules_swift_package_manager that referenced this pull request Nov 23, 2022
[![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.35.0` -> `v0.36.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

###
[`v0.36.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.36.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.35.0...v0.36.0)

#### Major new features

The Go runfiles library developed by
[@&#8203;phst](https://togithub.com/phst) at
https://github.com/phst/runfiles is now available as
`github.com/bazelbuild/rules_go/go/runfiles` (target
`@io_bazel_rules_go//go/runfiles`) and is now the official way to look
up runfiles from Go. It will be made compatible with Bzlmod in a future
release.
**Note:** For improved consistency with runfiles libraries in other
languages, the `Path` function present in
https://github.com/phst/runfiles is called `Rlocation` in rules_go.

#### What's Changed

- bzlmod: Use register_toolchains by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3290
- Remove unused env_execute by
[@&#8203;kmicklas](https://togithub.com/kmicklas) in
[bazelbuild/rules_go#3276
- Correctly forward InstrumentedFilesInfo from dependencies by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3294
- Parse Go SDK version out of `go version` instead of `VERSION` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3296
- also write test stderr to json (xml) output file by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[bazelbuild/rules_go#3300
- Bzlmod: Pin Bazel version in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3301
- Allow to select Go SDK version from declared SDKs by
[@&#8203;ash2k](https://togithub.com/ash2k) in
[bazelbuild/rules_go#3303
- Use top level VERSION file when it exists by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3309
- synchronize when writing to the JSON converter by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[bazelbuild/rules_go#3311
- update version manifest URL by
[@&#8203;benjaminp](https://togithub.com/benjaminp) in
[bazelbuild/rules_go#3314
- Symlink "misc" into repository for local_sdk. by
[@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) in
[bazelbuild/rules_go#3313
- Ensure compatibility with incompatible flags close to flipping by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3319
- Add additional bzlmod requirements to allow grpc protobufs to work by
[@&#8203;shs96c](https://togithub.com/shs96c) in
[bazelbuild/rules_go#3320
- bzlmod: Update pinned Bazel version by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3321
- bzlmod: Set up automated BCR releases by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3324
- bzlmod: Add support for gogo proto compiler by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3323
- gopackagesdriver: move non-Go files to OtherFiles (Fixes
[#&#8203;3326](https://togithub.com/bazelbuild/rules_go/issues/3326)) by
[@&#8203;michaelarusso](https://togithub.com/michaelarusso) in
[bazelbuild/rules_go#3327
- bzlmod: Allow yanked versions in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3329
- feat(pkg-drv): allow setting custom aspect and kinds by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3328
- fix(packages-driver): allow defining additional aspects instead by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3330
- Add support for parsing Go development versions by
[@&#8203;zakcutner](https://togithub.com/zakcutner) in
[bazelbuild/rules_go#3333
- Match GOARCH ppc64 to @&#8203;platforms//cpu:ppc as well. by
[@&#8203;mahiuchun](https://togithub.com/mahiuchun) in
[bazelbuild/rules_go#3336
- bzlmod: Update Publish to BCR app config by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3337
- gopackagesdriver: default to NotHandled:true for package queries by
[@&#8203;ian-h-chamberlain](https://togithub.com/ian-h-chamberlain) in
[bazelbuild/rules_go#3338
- fix(packagesdrv): resolve third party go packages by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3332
- runfiles: port phst/runfiles to rules_go by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3205
- Adding gc_linopts to command line flag by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3342
- Move new runfiles library to `//go/runfiles` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3341
- Rename `Path` to `Rlocation` in runfiles library by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3346
- Add 'gc_goopts' flag to command line to allow gc_goopts to propagate
by [@&#8203;LWarrens](https://togithub.com/LWarrens) in
[bazelbuild/rules_go#3340

#### New Contributors

- [@&#8203;kmicklas](https://togithub.com/kmicklas) made their first
contribution in
[bazelbuild/rules_go#3276
- [@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) made their
first contribution in
[bazelbuild/rules_go#3313
- [@&#8203;shs96c](https://togithub.com/shs96c) made their first
contribution in
[bazelbuild/rules_go#3320
- [@&#8203;michaelarusso](https://togithub.com/michaelarusso) made their
first contribution in
[bazelbuild/rules_go#3327
- [@&#8203;zakcutner](https://togithub.com/zakcutner) made their first
contribution in
[bazelbuild/rules_go#3333
- [@&#8203;mahiuchun](https://togithub.com/mahiuchun) made their first
contribution in
[bazelbuild/rules_go#3336
- [@&#8203;LWarrens](https://togithub.com/LWarrens) made their first
contribution in
[bazelbuild/rules_go#3340

**Full Changelog**:
bazelbuild/rules_go@v0.35.0...v0.36.0

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"ae013bf35bd23234d1dea46b079f1e05ba74ac0321423830119d3e787ec73483",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.19.3")

</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://app.renovatebot.com/dashboard#github/cgrindel/swift_bazel).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4zMC40IiwidXBkYXRlZEluVmVyIjoiMzQuMzAuNCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to cgrindel/bazel-starlib that referenced this pull request Nov 23, 2022
[![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.35.0` -> `v0.36.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

###
[`v0.36.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.36.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.35.0...v0.36.0)

#### Major new features

The Go runfiles library developed by
[@&#8203;phst](https://togithub.com/phst) at
https://github.com/phst/runfiles is now available as
`github.com/bazelbuild/rules_go/go/runfiles` (target
`@io_bazel_rules_go//go/runfiles`) and is now the official way to look
up runfiles from Go. It will be made compatible with Bzlmod in a future
release.
**Note:** For improved consistency with runfiles libraries in other
languages, the `Path` function present in
https://github.com/phst/runfiles is called `Rlocation` in rules_go.

#### What's Changed

- bzlmod: Use register_toolchains by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3290
- Remove unused env_execute by
[@&#8203;kmicklas](https://togithub.com/kmicklas) in
[bazelbuild/rules_go#3276
- Correctly forward InstrumentedFilesInfo from dependencies by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3294
- Parse Go SDK version out of `go version` instead of `VERSION` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3296
- also write test stderr to json (xml) output file by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[bazelbuild/rules_go#3300
- Bzlmod: Pin Bazel version in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3301
- Allow to select Go SDK version from declared SDKs by
[@&#8203;ash2k](https://togithub.com/ash2k) in
[bazelbuild/rules_go#3303
- Use top level VERSION file when it exists by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3309
- synchronize when writing to the JSON converter by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[bazelbuild/rules_go#3311
- update version manifest URL by
[@&#8203;benjaminp](https://togithub.com/benjaminp) in
[bazelbuild/rules_go#3314
- Symlink "misc" into repository for local_sdk. by
[@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) in
[bazelbuild/rules_go#3313
- Ensure compatibility with incompatible flags close to flipping by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3319
- Add additional bzlmod requirements to allow grpc protobufs to work by
[@&#8203;shs96c](https://togithub.com/shs96c) in
[bazelbuild/rules_go#3320
- bzlmod: Update pinned Bazel version by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3321
- bzlmod: Set up automated BCR releases by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3324
- bzlmod: Add support for gogo proto compiler by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3323
- gopackagesdriver: move non-Go files to OtherFiles (Fixes
[#&#8203;3326](https://togithub.com/bazelbuild/rules_go/issues/3326)) by
[@&#8203;michaelarusso](https://togithub.com/michaelarusso) in
[bazelbuild/rules_go#3327
- bzlmod: Allow yanked versions in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3329
- feat(pkg-drv): allow setting custom aspect and kinds by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3328
- fix(packages-driver): allow defining additional aspects instead by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3330
- Add support for parsing Go development versions by
[@&#8203;zakcutner](https://togithub.com/zakcutner) in
[bazelbuild/rules_go#3333
- Match GOARCH ppc64 to @&#8203;platforms//cpu:ppc as well. by
[@&#8203;mahiuchun](https://togithub.com/mahiuchun) in
[bazelbuild/rules_go#3336
- bzlmod: Update Publish to BCR app config by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3337
- gopackagesdriver: default to NotHandled:true for package queries by
[@&#8203;ian-h-chamberlain](https://togithub.com/ian-h-chamberlain) in
[bazelbuild/rules_go#3338
- fix(packagesdrv): resolve third party go packages by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3332
- runfiles: port phst/runfiles to rules_go by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3205
- Adding gc_linopts to command line flag by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3342
- Move new runfiles library to `//go/runfiles` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3341
- Rename `Path` to `Rlocation` in runfiles library by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3346
- Add 'gc_goopts' flag to command line to allow gc_goopts to propagate
by [@&#8203;LWarrens](https://togithub.com/LWarrens) in
[bazelbuild/rules_go#3340

#### New Contributors

- [@&#8203;kmicklas](https://togithub.com/kmicklas) made their first
contribution in
[bazelbuild/rules_go#3276
- [@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) made their
first contribution in
[bazelbuild/rules_go#3313
- [@&#8203;shs96c](https://togithub.com/shs96c) made their first
contribution in
[bazelbuild/rules_go#3320
- [@&#8203;michaelarusso](https://togithub.com/michaelarusso) made their
first contribution in
[bazelbuild/rules_go#3327
- [@&#8203;zakcutner](https://togithub.com/zakcutner) made their first
contribution in
[bazelbuild/rules_go#3333
- [@&#8203;mahiuchun](https://togithub.com/mahiuchun) made their first
contribution in
[bazelbuild/rules_go#3336
- [@&#8203;LWarrens](https://togithub.com/LWarrens) made their first
contribution in
[bazelbuild/rules_go#3340

**Full Changelog**:
bazelbuild/rules_go@v0.35.0...v0.36.0

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"ae013bf35bd23234d1dea46b079f1e05ba74ac0321423830119d3e787ec73483",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.19.3")

</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://app.renovatebot.com/dashboard#github/cgrindel/bazel-starlib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4zMC40IiwidXBkYXRlZEluVmVyIjoiMzQuMzAuNCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kreempuff added a commit to kreempuff/rules_unreal_engine that referenced this pull request Jan 31, 2023
[![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.35.0` -> `v0.38.1` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

###
[`v0.38.1`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.38.1)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.38.0...v0.38.1)

#### Bug fixes

The go_googleapis upgrade in 0.38.0 is too disruptive. It changes the Go
import paths of the proto packages, causing build failures in repos
trying to upgrade to rules_go 0.38.0. Reverting the go_googleapis to the
master of 2022-12-05
([#&#8203;3432](https://togithub.com/bazelbuild/rules_go/issues/3432))
for now to make rules_go upgrades easier.

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"dd926a88a564a9246713a9c00b35315f54cbd46b31a26d5d8fb264c07045f05d",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.19.5")

**Full Changelog**:
bazelbuild/rules_go@v0.38.0...v0.38.1

###
[`v0.38.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.38.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.37.0...v0.38.0)

#### Breaking changes

Starting this release, rules_go requires Bazel 5.3 and golang/x/tools at
least 0.3.0. If you are using
[stardoc](https://togithub.com/bazelbuild/stardoc), you also need to
upgrade it to 0.5.3 to recognize `RunEnvironmentInfo`, which is used in
this release.

#### Major new features

This is the first release to support Go 1.20. When on this version of
Go, it is highly recommended to use Bazel 6 and set
`--experimental_output_directory_naming_scheme=diff_against_baseline` to
prevent certain unnecessary rebuilds.

#### What's Changed

- preserve intermediate files if `-work` is specified by
[@&#8203;motiejus](https://togithub.com/motiejus) in
[bazelbuild/rules_go#3389
- Adapt `lcov_coverage_test` to `exec.Command` change by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3392
- explicitly build relative path for Tool command in lcov_coverage_test
by [@&#8203;matloob](https://togithub.com/matloob) in
[bazelbuild/rules_go#3399
- Add support for building with boringcrypto by
[@&#8203;matloob](https://togithub.com/matloob) in
[bazelbuild/rules_go#3398
- Generalize `boringcrypto` to `GOEXPERIMENT` support by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3401
- Replace `cfg = "host"` with `cfg = "exec"` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3404
- always produce .a files at the beginning of a build by
[@&#8203;matloob](https://togithub.com/matloob) in
[bazelbuild/rules_go#3385
- Mark `nogo` targets as `manual` to keep top-level symlinks by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3410
- Refactoring the extld related logic by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3400
- Fix incompatible flags not applied to integration tests by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3415
- chore: remove experimental warning from bzlmod module by
[@&#8203;alexeagle](https://togithub.com/alexeagle) in
[bazelbuild/rules_go#3418
- Add a clarifying error about dependency cycle found for internal tests
by [@&#8203;yushan26](https://togithub.com/yushan26) in
[bazelbuild/rules_go#3422
- Do not use exec paths for rundir by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3414
- Upgrade org_golang_x_tools to 0.5.0 by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3356
- fix: Relative path of embedsrc by
[@&#8203;bakjos](https://togithub.com/bakjos) in
[bazelbuild/rules_go#3407
- Add support for env_inherit by
[@&#8203;ttpathan](https://togithub.com/ttpathan) in
[bazelbuild/rules_go#3256
- Update stardoc to 0.5.3 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[bazelbuild/rules_go#3427
- Add `env` attribute to `go_binary` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3428

#### New Contributors

- [@&#8203;matloob](https://togithub.com/matloob) made their first
contribution in
[bazelbuild/rules_go#3399
- [@&#8203;yushan26](https://togithub.com/yushan26) made their first
contribution in
[bazelbuild/rules_go#3422
- [@&#8203;bakjos](https://togithub.com/bakjos) made their first
contribution in
[bazelbuild/rules_go#3407
- [@&#8203;ttpathan](https://togithub.com/ttpathan) made their first
contribution in
[bazelbuild/rules_go#3256

**Full Changelog**:
bazelbuild/rules_go@v0.37.0...v0.38.0

###
[`v0.37.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.37.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.36.0...v0.37.0)

#### Major New Features

- Support fetching packages for generated code in the Go Packages Driver

#### What's Changed

- bzlmod: Add missing `strip_prefix` field to `source.template.json` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3359
- Declare toolchains in a separate repository by
[@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) in
[bazelbuild/rules_go#3348
- Delete legacy actions API by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3173
- go_path: support go:embed of generated files by
[@&#8203;S-Chan](https://togithub.com/S-Chan) in
[bazelbuild/rules_go#3285
- Properly deprecate `bindata`, `go_embed_data`, and
`go_embed_data_deps` by [@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3362
- link.bzl: ignore duplicate dep on coverdata by
[@&#8203;robfig](https://togithub.com/robfig) in
[bazelbuild/rules_go#3032
- feat(pkg-drv): add support for generated files by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3354
- Remove unused variables in link action by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3367
- Reduce number of declared files in `emit_stdlib` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3366
- Update docs regarding vendored proto files by
[@&#8203;garymm](https://togithub.com/garymm) in
[bazelbuild/rules_go#3360
- go link: use external linker when in race mode by
[@&#8203;motiejus](https://togithub.com/motiejus) in
[bazelbuild/rules_go#3370
- Adding first example by
[@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) in
[bazelbuild/rules_go#3317
- fix(packagesdriver): bazelFlags should prefix the command by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3371
- chore(gpd): export aspect utils for reusability by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3373
- nogo: Add a \_base key to be a default config for all Analyzers. by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[bazelbuild/rules_go#3351
- Document that `Rlocation` can return relative paths by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3377
- Fix normalization check for `Rlocation` path by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3378
- fix(gpd): Write large target patterns to file by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3372
- Make Go runfiles library repo mapping aware by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3347

#### New Contributors

- [@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) made their first
contribution in
[bazelbuild/rules_go#3348
- [@&#8203;S-Chan](https://togithub.com/S-Chan) made their first
contribution in
[bazelbuild/rules_go#3285
- [@&#8203;garymm](https://togithub.com/garymm) made their first
contribution in
[bazelbuild/rules_go#3360
- [@&#8203;motiejus](https://togithub.com/motiejus) made their first
contribution in
[bazelbuild/rules_go#3370
- [@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) made their
first contribution in
[bazelbuild/rules_go#3317
- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[bazelbuild/rules_go#3351

**Full Changelog**:
bazelbuild/rules_go@v0.36.0...v0.37.0

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"56d8c5a5c91e1af73eca71a6fab2ced959b67c86d12ba37feedb0a2dfea441a6",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.19.3")

###
[`v0.36.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.36.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.35.0...v0.36.0)

#### Major new features

- The Go runfiles library developed by
[@&#8203;phst](https://togithub.com/phst) at
https://github.com/phst/runfiles is now available as
`github.com/bazelbuild/rules_go/go/runfiles` (target
`@io_bazel_rules_go//go/runfiles`) and is now the official way to look
up runfiles from Go. It will be made compatible with Bzlmod in a future
release.
**Note:** For improved consistency with runfiles libraries in other
languages, the `Path` function present in
https://github.com/phst/runfiles is called `Rlocation` in rules_go.
- Adding two new command line flags
`--@&#8203;io_bazel_rules_go//go/config:gc_goopts` and
`--@&#8203;io_bazel_rules_go//go/config:gc_linkopts` to accept
additional compiler and linker flags.

#### What's Changed

- bzlmod: Use register_toolchains by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3290
- Remove unused env_execute by
[@&#8203;kmicklas](https://togithub.com/kmicklas) in
[bazelbuild/rules_go#3276
- Correctly forward InstrumentedFilesInfo from dependencies by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3294
- Parse Go SDK version out of `go version` instead of `VERSION` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3296
- also write test stderr to json (xml) output file by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[bazelbuild/rules_go#3300
- Bzlmod: Pin Bazel version in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3301
- Allow to select Go SDK version from declared SDKs by
[@&#8203;ash2k](https://togithub.com/ash2k) in
[bazelbuild/rules_go#3303
- Use top level VERSION file when it exists by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3309
- synchronize when writing to the JSON converter by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[bazelbuild/rules_go#3311
- update version manifest URL by
[@&#8203;benjaminp](https://togithub.com/benjaminp) in
[bazelbuild/rules_go#3314
- Symlink "misc" into repository for local_sdk. by
[@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) in
[bazelbuild/rules_go#3313
- Ensure compatibility with incompatible flags close to flipping by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3319
- Add additional bzlmod requirements to allow grpc protobufs to work by
[@&#8203;shs96c](https://togithub.com/shs96c) in
[bazelbuild/rules_go#3320
- bzlmod: Update pinned Bazel version by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3321
- bzlmod: Set up automated BCR releases by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3324
- bzlmod: Add support for gogo proto compiler by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3323
- gopackagesdriver: move non-Go files to OtherFiles (Fixes
[#&#8203;3326](https://togithub.com/bazelbuild/rules_go/issues/3326)) by
[@&#8203;michaelarusso](https://togithub.com/michaelarusso) in
[bazelbuild/rules_go#3327
- bzlmod: Allow yanked versions in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3329
- feat(pkg-drv): allow setting custom aspect and kinds by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3328
- fix(packages-driver): allow defining additional aspects instead by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3330
- Add support for parsing Go development versions by
[@&#8203;zakcutner](https://togithub.com/zakcutner) in
[bazelbuild/rules_go#3333
- Match GOARCH ppc64 to @&#8203;platforms//cpu:ppc as well. by
[@&#8203;mahiuchun](https://togithub.com/mahiuchun) in
[bazelbuild/rules_go#3336
- bzlmod: Update Publish to BCR app config by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3337
- gopackagesdriver: default to NotHandled:true for package queries by
[@&#8203;ian-h-chamberlain](https://togithub.com/ian-h-chamberlain) in
[bazelbuild/rules_go#3338
- fix(packagesdrv): resolve third party go packages by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3332
- runfiles: port phst/runfiles to rules_go by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3205
- Adding gc_linopts to command line flag by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3342
- Move new runfiles library to `//go/runfiles` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3341
- Rename `Path` to `Rlocation` in runfiles library by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3346
- Add 'gc_goopts' flag to command line to allow gc_goopts to propagate
by [@&#8203;LWarrens](https://togithub.com/LWarrens) in
[bazelbuild/rules_go#3340

#### New Contributors

- [@&#8203;kmicklas](https://togithub.com/kmicklas) made their first
contribution in
[bazelbuild/rules_go#3276
- [@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) made their
first contribution in
[bazelbuild/rules_go#3313
- [@&#8203;shs96c](https://togithub.com/shs96c) made their first
contribution in
[bazelbuild/rules_go#3320
- [@&#8203;michaelarusso](https://togithub.com/michaelarusso) made their
first contribution in
[bazelbuild/rules_go#3327
- [@&#8203;zakcutner](https://togithub.com/zakcutner) made their first
contribution in
[bazelbuild/rules_go#3333
- [@&#8203;mahiuchun](https://togithub.com/mahiuchun) made their first
contribution in
[bazelbuild/rules_go#3336
- [@&#8203;LWarrens](https://togithub.com/LWarrens) made their first
contribution in
[bazelbuild/rules_go#3340

**Full Changelog**:
bazelbuild/rules_go@v0.35.0...v0.36.0

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"ae013bf35bd23234d1dea46b079f1e05ba74ac0321423830119d3e787ec73483",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.19.3")

</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=-->
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.

None yet

3 participants